我有json,如下所示,我如何循环每个id
{
"id1": {
"AreaN": "\u30ef\u30fc\u30eb\u30c9\u30d0\u30b6\u30fc\u30eb",
"AreaM": "\uff9c\uff70\uff99\uff84\uff9e\uff8a\uff9e\uff7b\uff9e\uff70\uff99"
},
"id2": {
"AreaN": "\u30ef\u30fc\u30eb\u30c9\u30d0\u30b6\u30fc\u30eb",
"AreaM": "\uff9c\uff70\uff99\uff84\uff9e\uff8a\uff9e\uff7b\uff9e\uff70\uff99"
}
}
我试过但它没有得到所有的ID,我无法改变json。
$json = json_decode($doc);
if( count($json) > 0 )
{
foreach($json as $area)
{
}
}
在我的情况下,我想要的ID不在数组中。是否可以循环id并将它们保留为对象,我更喜欢对象访问而不是使用方括号。
答案 0 :(得分:2)
$json = json_decode($doc, 1);
foreach ($json as $id => $area) {
// $id is "id1", "id2"
// $area is AreaN & AreaM
}
json_decode
的第二个参数如果为true将返回为数组,否则将为对象