是否有一种简单的方法来取消嵌套数组?

Dar*_*ius 0 php arrays multidimensional-array

所有,

你如何"取消嵌套"一个数组,以便更容易循环?

你将如何转换下面的数组...

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [key1] => data1
                    [key2] => data2
                    [key3] => data3
                )
        )
    [1] => Array
        (
            [0] => Array
                (
                    [key1] => data4
                    [key2] => data5
                    [key3] => data6
                )

        )
)
Run Code Online (Sandbox Code Playgroud)

对于像这样可管理的东西......?

Array
(
    [0] => Array {
        [key1] => data1
        [key2] => data2
        [key3] => data3
        }
    [1] => Array (
        [key1] => data4
        [key2] => data5
        [key3] => data6
        )
)
Run Code Online (Sandbox Code Playgroud)

geo*_*org 7

就在这里!

 $newArray = array_map('end', $oldArray);
Run Code Online (Sandbox Code Playgroud)

此代码仅适用end于源数组的每个元素,并将结果收集到新数组中.例如,如果这样的元素是

Array
    (
        [0] => Array
            (
                [key1] => data1
                [key2] => data2
                [key3] => data3
            )
    )
Run Code Online (Sandbox Code Playgroud)

结果end将是

        Array
            (
                [key1] => data1
                [key2] => data2
                [key3] => data3
            )
Run Code Online (Sandbox Code Playgroud)

基本上end"解开"内部数组,从而摆脱一个嵌套级别.由于始终只有一个子阵列,您也可以使用currentreset具有相同的效果.

  • `array_map`是经典的函数映射(http://en.wikipedia.org/wiki/Map_%28higher-order_function%29),对于每个元素,`end`将返回数组中的最后一个元素-就是您所需要的需要(因为只有一个元素)。 (2认同)