我使用以下代码将2个数组组合成一个新数组:
$newarray = array($array1, $array2);
输出如下:
Array
(
[0] => Array
(
[0] => 3
[1] => 1
)
[1] => Array
(
[0] => Array
(
[0] => 4
[1] => 7
)
[1] => Array
(
[0] => 20
[1] => 10
)
)
)
但是我想改变结构,所以数组将是这样的:
Array
(
[0] => Array
(
[0] => 3
[1] => 1
)
[1] => Array
(
[0] => 4
[1] => 7
)
[2] => Array
(
[0] => 20
[1] => 10
)
)
有没有办法改变结构?
答案 0 :(得分:2)
您可以使用array_merge
代替array
。
$new_array = array_merge([$array1], $array2);
请注意,要使其正常工作,$array1
需要包装在另一个数组中:[$array1]
。否则,$array1
最终将成为$array2
的父级,而不是其兄弟,并且您将获得
[3, 1, [4, 7], [20,10]]
代替。
答案 1 :(得分:0)
我写了一个简单的函数,以你想要的方式制作你的数组。看看这段代码:
<?php
//array for testing
$inputArray = [
[3, 1],
[
[4,7],
[20,10],
],
];
function transformArray($inputArray)
{
$result = [];
foreach($inputArray as $key=>$elem)
{
if(is_array($elem[0]))
$result = array_merge($result,transformArray($inputArray[$key]));
else
$result[] = $elem;
}
return $result;
}
//test result
print_r(transformArray($inputArray));
结果是:
Array
(
[0] => Array
(
[0] => 3
[1] => 1
)
[1] => Array
(
[0] => 4
[1] => 7
)
[2] => Array
(
[0] => 20
[1] => 10
)
)
工作示例:CLICK