我有一个JSON对象,我想循环遍历其中的值:
$json = '{"1":a,"2":b,"3":c,"4":d,"5":e}';
$obj = json_decode($json, TRUE);
for($i=0; $i<count($obj['a']); $i++) {
echo $i;
}
我希望$i
显示对象中的值abcde
。
$json = '{"1":"a","2":"b","3":"c","4":"d","5":"e"}';
$obj = json_decode($json, TRUE);
foreach($obj as $key => $value)
{
echo 'Your key is: '.$key.' and the value of the key is:'.$value;
}
最简单的迭代方式是使用foreach
,这样你就不需要关心索引,代码如下:
foreach($obj as $value) {
echo $value;
}
$obj
中没有索引0。从我看到的内容来看,它从1开始。这样就可以使用任何索引(不仅限于数字)了。foreach
循环中不需要使用关键字,它也可以正常工作。 - Lampe2020
print_r($obj)
- u_mulder$i<count($obj['a'])
应该改为$i<count($obj)
。你想要计算数组中的总元素数,而不是第一个值中的元素数,在这种情况下,第一个值为0。或者使用foreach
更易读。 - Andrei{"1": "a", ... etc}
。 - M. Eriksson