数字Json解码不起作用

时间:2016-09-02 07:37:26

标签: php

我有以下json代码

 {"1":1,"5":1}

当我解码上面的json时,我使用下面的php语句得到了对象数组。

$array_val = (array)json_decode($price);

我有一个下面的阵列。

Array
(
  [1] => 1
  [5] => 1
)

但以下声明不起作用

echo $array_val[1];

发生以下错误。
未定义的偏移量:1

如何解决此问题?

3 个答案:

答案 0 :(得分:7)

试试这个DEMO

PHP

$json = '{"1":1,"5":1}';
$array_val=json_decode($price, true);
echo $array_val[1];

输出:

1

答案 1 :(得分:4)

请注意,json_decode($ string)返回一个对象,而不是一个数组(这就是你的代码没有表现的原因)。

要返回数组,请使用:

$arr = json_decode($string, true);

另见http://php.net/manual/en/function.json-decode.php

答案 2 :(得分:3)

您可以使用以下代码

来获取此信息
$array_val=json_decode($price);
echo $array_val->{1}

OR

$array_val=json_decode($price,true);
echo $array_val[1]