【发布时间】:2014-05-18 23:28:39
【问题描述】:
我知道它已经被问过很多次了,我已经解决了 15 到 20 个问题,试图弄清楚如何让它发挥作用。
JSON
{"menu": {
"title":"Title One",
"link":"Link One",
"title":"Title Two",
"link":"Link Two"}
}
PHP
$string = file_get_contents("test.json");
$json_a = json_decode($string,true);
foreach($json_a['menu'] as $key => $value) {
echo $key . ": " . $value . "<br />";
}
目前只显示
title: Title Two
link: Link Two
相对
title: Title One
link: Link One
title: Title Two
link: Link Two
我认为$json_a[menu] 不需要撇号,因为$json_a 不是函数,我也是正确的吗?无论有没有都可以。
提前致谢。
【问题讨论】:
-
数组中不能有多个具有相同键的条目。虽然 JSON 可能允许它,但当它被 PHP 解析时,键值对的最后一个定义获胜。看起来
menu应该是一个对象数组。 -
如果你做 json_decode(),它也只会是多个键中的一个。
-
对象属性是唯一的
-
一个小建议:如果你不确定一个对象或数组的结构,用 print '
' 输出它; print_r($json_a);打印'
';
标签: php arrays json loops foreach