如何组合多维数组
<?php
$array[0] = [1=>[2=>[4=>[20=>""]]]];
$array[1] = [1=>[2=>[5=>[21=>""]]]];
$array[2] = [1=>[2=>[5=>[22=>""]]]];
$array[3] = [1=>[2=>[5=>[23=>""]]]];
$array[4] = [1=>[2=>[5=>[25=>""]]]];
$array[5] = [3=>[9=>[12=>[33=>""]]]];
$array[6] = [3=>[9=>[12=>[34=>""]]]];
$array[7] = [3=>[9=>[12=>[38=>""]]]];
?>
如何转换为:
$arrays = [1=>[2=>[4=>[20=>""],5=>[21=>"",22=>"",25=>""]]],[3=> [9 => [12 => [33 => "",38 => ""]]]]];
我尝试使用array_merge:
$arrays = [];
foreach ($array as $val)
{
$arrays = array_merge($arrays,$val);
}
但结果总是第一个维度由该自我增加
我已经尝试过一些func(比如$ arrays = $ arrays + $ val,array_push等 )自2个月前以来我认为使用array_merge很好,但问题是由自己增加,所以我仍然没有找到解决方案,我也搜索谷歌仍然没有找到这个。
答案 0 :(得分:2)
使用其中一个内置数组函数array_merge_recursive
或array_replace_recursive
。代码如下:
$arrays = [];
foreach ($array as $val)
{
$arrays = array_replace_recursive($arrays,$val);
}