打印3层多维数组

时间:2015-03-16 06:51:14

标签: php arrays multidimensional-array

我有这个

Array
(
    [Group1] => Array
        (
            [1] => Array
                (
                    [Item1] => 1
                    [Item2] => 11
                )

            [2] => Array
                (
                    [Item1] => 2
                    [Item2] => 22
                    [Item3] => 222
                )

            [3] => Array
                (
                    [Item1] => 3
                    [Item2] => 33
                )
        )

    [Group2] => Array
        (
            [1] => Array
                (
                    [Item11] => 1111
                )

            [2] => Array
                (
                    [Item22] => 2222
                )

            [3] => Array
                (
                    [Item33] => 3333
                )
        )
)

我需要逐行打印出来。 像这样:(项目打印键值)

`Group1` -> `1` -> `(Item1)=>'1'`
`Group1` -> `2` -> `(Item1)=>'2'`
`Group1` -> `3` -> `(Item1)=>'3'`
`Group1` -> `1` -> `(Item2)=>'11'`
`Group1` -> `2` -> `(Item2)=>'22'`
`Group1` -> `3` -> `(Item2)=>'33'`
`Group1` -> `1` -> `(Item3)=>''`
`Group1` -> `2` -> `(Item3)=>'222'`
`Group1` -> `3` -> `(Item3)=>''`
`Group2` -> `1` -> `(Item1)=>'1111'`
`Group2` -> `2` -> `(Item1)=>''`
`Group2` -> `3` -> `(Item1)=>''`
`Group2` -> `1` -> `(Item2)=>''`
`Group2` -> `2` -> `(Item2)=>'2222'`
`Group2` -> `3` -> `(Item2)=>''`
`Group2` -> `1` -> `(Item3)=>''`
`Group2` -> `2` -> `(Item3)=>''`
`Group2` -> `3` -> `(Item3)=>'3333'`

必须逐行完成。

对于Group它很容易,只需按顺序读取它们。 但是当我到达“MONTH”阵列(第二层由(1,2,3)表示)时 如何编写循环以逐步执行每个“MONTH”子数组元素1。 然后再次每个“MONTH”子元素2.等。

我想实现这样的目标。 (只有黄色位很重要)

enter image description here

解决方案

嗯,不能这样做,所以我退了一步,尝试了不同的方法。

将“月”放在底层让我可以使用Alexey Kurilov建议的循环

谢谢你。

1 个答案:

答案 0 :(得分:1)

为什么不使用foreach?

foreach( $arr as $group => $arr1 ) {
  foreach( $arr1 as $month => $arr2 ) {
    foreach( $arr2 as $id => $item ) {
      echo $group.' -> '.$month.' -> '.$id.' -> '.$item;
    }
  }
}