【问题标题】:How to use foreach loop in PHP to execute multidimensional array? [duplicate]如何在 PHP 中使用 foreach 循环来执行多维数组? [复制]
【发布时间】:2017-12-30 15:31:06
【问题描述】:

我正在从多维数组中提取数据。在使用 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。我是这个领域的新手。任何人都可以启发我吗?谢谢

【问题讨论】:

  • 不@Siraj。我的阵列与此不同。答案已经给出。我不得不使用 foreach 2 次​​span>
  • 然后阅读这个答案stackoverflow.com/a/29363646/5132337
  • 错过了。明白了

标签: php arrays multidimensional-array foreach


【解决方案1】:

你需要双 foreach,像这样:

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

【讨论】:

    【解决方案2】:

    您正在循环的$result_array 有4 个元素,它们都没有键category_name 的值。你需要加倍foreach 或更明智的做法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-25
      • 2011-08-30
      • 1970-01-01
      相关资源
      最近更新 更多