【发布时间】:2011-08-30 15:34:11
【问题描述】:
这里有很多关于多维数组和 foreach 循环的问题/答案,但我还没有找到一个专门适用于我的案例的问题/答案。如果您有其他想法,请告知。
我的数组结构如下,并输出到 CodeIgniter 视图:
Array
(
[2] => Array //this is the unique user ID
(
[name] => Joe Schmoe
[cars] => Array
(
[112] => Array //this is the unique car ID
(
[cars_name] => Honda
[cars_type] => Sedan
[cars_color] => White
)
[102] => Array
(
[cars_name] => Toyota
[cars_type] => Sedan
[cars_color] => Black
)
[113] => Array
(
[cars_name] => Nissan
[cars_type] => Coupe
[cars_color] => Red
)
)
)
[5] => Array
(
[name] => Buck
[cars] => Array
(
[147] => Array
(
[cars_name] => Tesla
[cars_type] => Sedan
[cars_color] => Yellow
)
)
)
[1] => Array
(
[name] => Mike Mechanic
[cars] => Array
(
[140] => Array
(
[cars_name] => BMW
[cars_type] => SUV
[cars_color] => Blue
)
[145] => Array
(
[cars_name] => MB
[cars_type] => Sedan
[cars_color] => Gray
)
)
)
)
我需要帮助构建嵌套的 foreach 循环,以便我可以访问整个数组中的每个元素。
我尝试了这种嵌套的foreach 结构,但不行。
foreach ($results as $data):
if (is_array($data)):
foreach ($data as $value):
if (is_array($value)):
foreach ($value as $row):
endforeach;
endif;
endforeach;
endif;
endforeach;
echo $row->cars_name //returns a non-object error
有人知道如何将这个嵌套循环放在一起吗?
感谢您的帮助,非常感谢。
【问题讨论】:
-
我在尝试回显数组元素时收到
Trying to get property of non-object错误 -
那是因为它不是对象,而你表现得就像它是一个对象一样。请参阅我的答案中的编辑。
-
您正在尝试访问循环外的循环变量。将 echo 放在最里面的 foreach 中
-
哇有人无缘无故投了反对票或提供帮助?那里没有失去爱......
标签: php codeigniter multidimensional-array foreach nested-loops