【发布时间】:2014-04-08 06:37:48
【问题描述】:
我最近问了一个关于循环数组的问题,这个问题得到了解答:
答案已标记。
我自己修改的答案也在下面。
JSON
{"product": [{
"title":"Product One",
"price":"Price One",
"desc":"Description One"
}]
}
PHP
foreach($product['product'] as $value) {
echo "Title : " .$value['title'];
}
我一直在试图弄清楚如何循环第二级(?)数组,例如这个 image 数组。
JSON
{"product": [{
"title":"Product One",
"price":"Price One",
"desc":"Description One",
"image": [{
"img":"image 1 1"
},{
"img":"image 1 2"
},{
"img":"image 1 3"
}]
}, {
"title":"Product Two",
"price":"Price Two",
"desc":"Description Two",
"image": [{
"img":"image 2 1"
},{
"img":"image 2 2"
},{
"img":"image 2 3"
}]
}]
}
到目前为止,我已经尝试过:
<?php
foreach($product['product']['image'] as $value) {
echo "Image: " .$value['img'] . "<br>";
}
?>
和
<?php
foreach($product['product'] as $value) {
echo "Image: " .$value['image']['img'] . "<br>";
}
?>
以及类似想法的一些变体。
我想要的输出是:
Image: image 1 1
Image: image 1 2
Image: image 1 3
Image: image 2 1
Image: image 2 2
Image: image 2 3
另外,我将如何通过一个值来选择一个数组,例如..
JSON
{"product": [{
"id":"001"
"title":"Product One",
"price":"Price One",
"desc":"Description One"
},{
"id":"002"
"title":"Product One",
"price":"Price One",
"desc":"Description One"
}]
}
PHP
if ( isset( $product['product']['id'] && $product['product']['id'] == "001") ) {
foreach(*specific array as $value) {
echo "Title : " .$value['title'] . "<br>";
echo "Price : " .$value['price'] . "<br>";
}
等等。
我在想一个更好的方法是将数组设置为 id,所以我可以说 go grab array {"product": [{"001": [{"title:..."002": [{... 而不是值为 001 的产品作为键 id。只是不确定很多事情,所以很难找到我的错误。
提前致谢。
【问题讨论】:
-
你的循环有一些错误,你可以看我的答案和演示
-
现在开始处理问题 bms 的第二部分 - 已回答。