【发布时间】:2018-10-12 07:16:35
【问题描述】:
我有两个要合并的多维数组,但是我想在合并期间跳过相同的值。我尝试了几种在网上找到的不同方法,但对我来说没有任何帮助。
我的初始数组比这个大很多,但这里我只是举个例子:
$array1 = [
"aaa" => [
"aa1"=> [
"key1"=> "value1",
"key2"=> "value2",
],
"bbb"=> [
"bb1",
"bb2",
],
"ccc"=> [
"cc1",
],
],
"ooo" => [
"oo1"
]
];
还有一个,我想合并到第一个:
$array2 = [
"aaa" => [
"bbb"=> [
"bb2",
],
"ccc"=> [
"cc2",
],
],
];
array_merge_recurisive 的 print_r,使用如下方法:
print_r(array_merge_recursive($array1, $array2));
Array
(
[aaa] => Array
(
[aa1] => Array
(
[key1] => value1
[key2] => value2
)
[bbb] => Array
(
[0] => bb1
[1] => bb2
[2] => bb2
)
[ccc] => Array
(
[0] => cc1
[1] => cc2
)
)
[ooo] => Array
(
[0] => oo1
)
)
所以,在结果中你可以看到数组 bbb 有两个 bb2 值,但我只需要一个
【问题讨论】:
-
你试过$arr =
array_unique (array_merge_recursive($arr1, $arr2)); -
检查这个:array_merge_recursive。注意这一行:但是,如果数组具有相同的数字键,则后面的值不会覆盖原始值,而是会被追加。
-
@lovelace 是的,我试过了,但对我的情况没有帮助。
标签: php arrays recursion array-merge