如何在PHP中使用foreach循环来执行多维数组? [重复]

问题描述 投票:0回答:2

这个问题在这里已有答案:

我从多维数组中提取数据。使用foreach循环时,我感到困惑,无法从我的数组中提取数据。这是我的数组名为$ result_array:

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [category_id] => 19
                    [category_name] => Food
                    [publication_status] => 1
                    [deletion_status] => 1
                )

            [1] => Array
                (
                    [category_id] => 16
                    [category_name] => Gourmet
                    [publication_status] => 1
                    [deletion_status] => 1
                )

            [2] => Array
                (
                    [category_id] => 17
                    [category_name] => Islamic Product
                    [publication_status] => 1
                    [deletion_status] => 1
                )


        )

    [1] => Array
        (
            [0] => Array
                (
                    [category_id] => 28
                    [category_name] => Dry Food
                    [publication_status] => 1
                    [deletion_status] => 1
                )

            [1] => Array
                (
                    [category_id] => 39
                    [category_name] => Testt
                    [publication_status] => 1
                    [deletion_status] => 1
                )

            [2] => Array
                (
                    [category_id] => 37
                    [category_name] => Seasonal Items
                    [publication_status] => 1
                    [deletion_status] => 1
                )

            [3] => Array
                (
                    [category_id] => 38
                    [category_name] => Icon Items
                    [publication_status] => 1
                    [deletion_status] => 1
                )

        )

    [2] => Array
        (
            [0] => Array
                (
                    [category_id] => 29
                    [category_name] => Biscuits
                    [publication_status] => 1
                    [deletion_status] => 1
                )

        )

    [3] => Array
        (
            [0] => Array
                (
                    [category_id] => 30
                    [category_name] => Nutty
                    [publication_status] => 1
                    [deletion_status] => 1
                )

        )

)

这是我的循环:

foreach($result_array as $info) {
    echo $info['category_name'].'<br>';
}

这个循环给我一个错误,说明未定义索引category_name。我是这个领域的新手。谁能开导我?谢谢

php arrays multidimensional-array foreach
2个回答
4
投票

你需要双重foreach,像这样:

foreach($result_array as $outer_array)
    foreach($outer_array as $inner_array)
        echo $inner_array['category_name'] . '<br>';

1
投票

你循环的$result_array有4个元素,没有一个元素与密钥category_name有价值。你需要做双foreach或更聪明的东西。

© www.soinside.com 2019 - 2024. All rights reserved.