[英]PHP echo json with key value
为什么这段代码不能正常工作或者我做错了什么?
$json = json_encode($myInstance->getData($id));
$result = json_decode($json,true);
$i = 0;
foreach ($result as $value) {
echo '<div>'.$value[$i]['name'].'</div>';
$i++;
}
第一个值显示正确,但没有迭代! $value[$i]['name']
不是为迭代而构建的吗?? 它只打印array[0]
而不是array[1]
。 谢谢。
你最好使用嵌套的 foreach 循环,这通常不是很好的编码实践,但它会完成你想要做的工作。
$json = json_encode($myInstance->getData($id));
$result = json_decode($json,true);
foreach ($result as $value) {
foreach($value as $value_detail) {
echo '<div>'.$value_detail['name'].'</div>';
}
}
您的代码将遍历 JSON 中的所有第一级项目,并显示第一个项目的第一个名称、第二个项目的第二个名称、第三个项目的第三个名称等。
您遇到的问题可能是因为$json
数组是 3D 的,例如
[0 =>
[
['name' => 'Foo'], ['name' => 'Bar']
]
]
如果是这样,那么您可能会发现 foreach 循环可以是
foreach($result[0] as $value) {
echo '<div>'.$value['name'].'</div>';
}
尝试var_dump($result);
看看数据是什么样子的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.