PHP-foreach循环和多维数组

PHP-foreach循环和多维数组,php,codeigniter,multidimensional-array,foreach,nested-loops,Php,Codeigniter,Multidimensional Array,Foreach,Nested Loops,关于多维数组和foreach循环,这里有很多问题/答案,但我还没有找到一个特别适用于我的案例。如果你不这么想,请告诉我 我的阵列结构如下,并输出到CodeIgniter视图: Array ( [2] => Array //this is the unique user ID ( [name] => Joe Schmoe [cars] => Array (

关于多维数组和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
有人知道如何把这个嵌套循环放在一起吗


感谢您的帮助,非常感谢。

您正在从循环外部访问$row。如果要处理每一行,应该将代码(回音)放入循环中

另一种选择是使用。它将为多维数组中的每个值调用回调函数

[编辑]

您得到的行也不是对象。它仍然是一个数组。设法

echo $row['cars_name'];

我想这对你有用

foreach ($results as $result) {
    if(is_array($result['cars'])){
        foreach ($result['cars'] as $car) {
            echo $car['cars_name'];
        }
    }
}

您还试图通过类属性访问符号访问数组元素

我在尝试回显数组元素时遇到了一个
错误,试图获取非object的属性,这是因为它不是object,而您的行为就像它是一个一样。请参阅我答案中的编辑。您正在尝试访问循环外部的循环变量。把这种回声放在最内心深处——一个没有理由或没有提供帮助就被否决的人?没有爱在那里丢失…感谢@goleztrol的评论-我在循环中尝试了,但仍然得到相同的
尝试获取非对象的属性
错误--@torr
echo$row['cars_name'而不是
echo$row->cars\u name