从json获得数量

时间:2017-05-30 15:53:37

标签: php arrays json

noob在这里!我怎么能得到数量'使用json和php打印的值仅为0:

{"XXXXXX":[],"XXXXXX":[],"total":[{"assetref":"","qty":0,"raw":0}]}

我试过这个

$m = json_encode('{"XXXXXX":[],"XXXXXX":[],"total":[{"assetref":"","qty":0,"raw":0}]}')
$multi = json_decode($m, true);
echo $multi->{'qty'};

没有工作

3 个答案:

答案 0 :(得分:0)

您已经拥有JSON字符串,因此您不能使用json_encode

$multi = json_decode('{"XXXXXX":[],"XXXXXX":[],"total":[{"assetref":"","qty":0,"raw":0}]}', true);
echo $multi['total'][0]['qty'];

答案 1 :(得分:0)

json_encode用于从变量创建JSON字符串。

您已经拥有JSON字符串,因此您可以简单地说$m = json_encode(json_string)而不是使用$m = json_string

在尝试访问total变量时,您也缺少一个深度级别(不引用qty)。

(请注意total是一个包含一个对象的数组,然后包含qty

试试:

$m = '{"XXXXXX":[],"XXXXXX":[],"total":[{"assetref":"","qty":0,"raw":0}]}';
$multi = json_decode($m, true);
echo $multi['total'][0]['qty'];

答案 2 :(得分:0)

json_encode将数组编码为字符串,您正在尝试对字符串进行编码。

在字符串上使用json_decode,以便转换为数组。

$m = json_decode('{"XXXXXX":[],"XXXXXX":[],"total":[{"assetref":"","qty":10,"raw":0}]}');
$qty = $m->total[0]->qty;
echo $qty;