我有一个数组,但结构不好,所以我想让它改变。
数组是一个包含数组的数组,但是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
)
答案 0 :(得分:2)
您可以使用以下内容。
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];
答案 1 :(得分:1)
您可以在循环中使用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
)
答案 2 :(得分:0)
只需循环遍历数组并添加非空数组元素,如下所述(不使用内置函数)
<?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
)
*/
?>
答案 3 :(得分:0)
这是一种相当便宜的代码划分方式
$array = [[1, 2], []];
$flat = array_merge(...$array);
问题是,如果数组的第一级不是所有数组,那么它就会落空