Php 有没有更简单的方法取消嵌套数组?

Php 有没有更简单的方法取消嵌套数组?,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,全部, 如何“取消嵌套”数组以使其更易于循环 如何转换下面的数组 Array ( [0] => Array ( [0] => Array ( [key1] => data1 [key2] => data2 [key3] => data3

全部,

如何“取消嵌套”数组以使其更易于循环

如何转换下面的数组

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

        )
)
像这样可以控制的事情

Array
(
    [0] => Array {
        [key1] => data1
        [key2] => data2
        [key3] => data3
        }
    [1] => Array (
        [key1] => data4
        [key2] => data5
        [key3] => data6
        )
)
是的,有

 $newArray = array_map('end', $oldArray);
此代码仅应用于源数组的每个元素,并将结果收集到新数组中。例如,如果这样一个元素是

Array
    (
        [0] => Array
            (
                [key1] => data1
                [key2] => data2
                [key3] => data3
            )
    )
end
的结果将是

        Array
            (
                [key1] => data1
                [key2] => data2
                [key3] => data3
            )

本质上,
end
将内部数组“展开”,从而去掉一个嵌套级别。由于始终只有一个子阵列,您也可以使用
current
reset
,效果相同。

您最初是如何创建阵列的?这可能比随后重新构造要容易。你需要一个简单的循环。有什么问题吗?您的代码在哪里?为了取消嵌套该数组,您必须对其进行处理,因此好处在哪里?@RiggsFolly:预处理有很大的好处,如果以后有很多代码涉及数据结构。那么我会修复数据库classnice!函数式编程ftw。我想我只是不明白他为什么使用“end”作为回调,或者为什么这样做。令人震惊。谢谢。
array\u map
是经典的函数映射(),对于每个元素,
end
将返回数组中的最后一个元素,这正是您需要的(因为只有一个元素)。这很有意义。谢谢你们两位!