[英]How to change the structure of an php array
我有一个数组,但是结构不好,所以我想更改它。
该数组是其中包含数组的数组,但是1始终为空,因此我不需要此数组,因此不需要多级数组。
当前数组
array(
[0] => array(
[0] => some value
[1] => some value
),
[1] => array( empty so this one must be removed )
)
我想要的方式
array(
[0] => some value
[1] => some value
)
您可以如下使用。
array_reduce($array, 'array_merge', array());
例如:
$a = array(array(1, 2, 3), array(4, 5, 6));
$result = array_reduce($a, 'array_merge', array());
结果:
array[1, 2, 3, 4, 5, 6];
您可以在循环内使用array_merge 。 就像是 -
$array = [
[1, 2],
[],
[4]
];
$temp = [];
foreach($array as $a) {
$temp = array_merge($temp, $a);
}
print_r($temp);
产量
Array
(
[0] => 1
[1] => 2
[2] => 4
)
只需遍历数组并添加非空数组元素,如下所述(不使用内置函数)
<?php
$array = [[1, 2], [], [4]];
$temp = [];
foreach($array as $a) {
if(!empty($a)) {
foreach($a as $b)
$temp[] = $b;
}
}
echo "<pre>";
print_r($temp);
/* result
Array
(
[0] => 1
[1] => 2
[2] => 4
)
*/
?>
这是扁平化的相当便宜的代码明智方式
$array = [[1, 2], []];
$flat = array_merge(...$array);
问题是,如果数组的第一级不是所有数组,它就会崩溃
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.