Php 合并2个没有重复键的数组
我有如下两个数组,希望将它们合并在一起,而不是将密钥复制到新数组中 $array1:Php 合并2个没有重复键的数组,php,arrays,Php,Arrays,我有如下两个数组,希望将它们合并在一起,而不是将密钥复制到新数组中 $array1: Array ( [0] => Array ( [a] => Array ( [p] => Array ( [a] => 1 ) ) [a/
Array
(
[0] => Array
(
[a] => Array
(
[p] => Array
(
[a] => 1
)
)
[a/s] => Array
(
[p] => Array
(
[o] => 1
)
)
[a/p] => Array
(
[p] => Array
(
[w] => 1
[e] => 1
[d] => 1
)
)
[a/u] => Array
(
[p] => Array
(
[w] => 1
[e_a] => 1
[d_a] => 1
)
)
)
)
$array2:
Array
(
[0] => Array
(
[a/x] => Array
(
[p] => Array
(
[a] => 1
)
)
[a/s] => Array
(
[p] => Array
(
[o] => 1
)
)
[a/p] => Array
(
[p] => Array
(
[w] => 1
[e] => 1
[d] => 1
)
)
[a/u] => Array
(
[p] => Array
(
[w] => 1
[e_a] => 1
[d_a] => 1
)
)
)
)
$result = array_merge_recursive($array1, $array2);
$result:
Array
(
[0] => Array
(
[a] => Array
(
[p] => Array
(
[a] => 1
)
)
[a/s] => Array
(
[p] => Array
(
[o] => Array
(
[0] => 1
[1] => 1
)
)
)
[a/p] => Array
(
[p] => Array
(
[w] => Array
(
[0] => 1
[1] => 1
)
[e] => Array
(
[0] => 1
[1] => 1
)
[d] => Array
(
[0] => 1
[1] => 1
)
)
)
[a/u] => Array
(
[p] => Array
(
[w] => Array
(
[0] => 1
[1] => 1
)
[e_a] => Array
(
[0] => 1
[1] => 1
)
[d_a] => Array
(
[0] => 1
[1] => 1
)
)
)
[a/x] => Array
(
[p] => Array
(
[a] => 1
)
)
)
)
我该如何让它看起来像这样
Array
(
[0] => Array
(
[a] => Array
(
[p] => Array
(
[a] => 1
)
)
[a/s] => Array
(
[p] => Array
(
[o] => 1
)
)
[a/p] => Array
(
[p] => Array
(
[w] => 1
[e] => 1
[d] => 1
)
)
[a/u] => Array
(
[p] => Array
(
[w] => 1
[e_a] => 1
[d_a] => 1
)
)
[a/x] => Array
(
[p] => 1
)
)
)
我是不是走错了路,还是有什么办法可以解决这个问题?欢迎举例
谢谢您是否尝试过
数组\u合并
页面中的用户自定义示例/函数?
似乎有相当多的例子符合你的要求。保留键(无需重新编号)的一个建议是使用+
操作符
$result=$x1+$x2
(其中x是数组)
function array_merge_recursive_unique($array1, $array2) {
if (empty($array1)) return $array2; //optimize the base case
foreach ($array2 as $key => $value) {
if (is_array($value) && is_array(@$array1[$key])) {
$value = array_merge_recursive_unique($array1[$key], $value);
}
$array1[$key] = $value;
}
return $array1;
}