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
将返回数组中的最后一个元素,这正是您需要的(因为只有一个元素)。这很有意义。谢谢你们两位!