【发布时间】:2016-07-21 02:17:47
【问题描述】:
鉴于此数据结构:
array(2) {
[0] array(7) {
["model_id"] 218
["total"] 10
["brand"] "This Brand"
["model_name"] "This Name"
["picture"] "this pic.jpg"
["color"] "Black"
["sizes"] array(3) {
["4"] "10 %"
["5"] "80 %"
["6"] "10 %"
}
}
[1] array(7) {
["model_id"] 219
["total"] 10
["brand"] "This Brand"
["model_name"] "ThatName"
["picture"] "that pic.jpg"
["color"] "Black"
["sizes"] array(3) {
["4"] "20 %"
["5"] "50 %"
["6"] "30 %"
}
}
}
您如何以$key => $value 循环进入sizes?
到目前为止,我尝试的方法都不起作用,比如嵌套循环。
foreach($array as $i){
foreach($i as $z){
foreach($z as $key => $value){
print_r($key);
}
}
}
}
导致错误:Invalid argument supplied for foreach()
【问题讨论】:
-
您的数据结构是 JSON,而不是 PHP 数组。你知道吗?您正在寻找的是对函数的递归调用:只要函数想要在数组内部更深一层,就会调用自身。
-
它看起来像json数据首先你必须通过json_decode函数解码这个值。
-
将
foreach($i as $z)更改为foreach($i['size'] as $kye => $value)并删除下一个 foreach。我认为你有一个额外的 foreach
标签: php arrays loops multidimensional-array iteration