我有两个多维数组,例如:
[a]
[b]
[c]
和
[a]
[b]
[c]
[d]
想把它变成一个数组
[a]
[b]
[c]
[d]
我尝试了 array_merge_recursive()
函数,但它在最后一层创建新元素而不是覆盖它们。
例如,如果 [c]
在第一个数组中是 "X"
,在第二个数组中是 "Y"
,我获取 array("X", "Y")
而不是最后一个值 ("Y"
)。
最佳答案
这就是您要使用 array_replace_recursive
的目的吗?
<?php
$arr1 = array ('a' => array ('b' => array ('c' => 'X'), 'd' => 'array_1_d'));
$arr2 = array ('a' => array ('b' => array ('c' => 'Y', 'd' => 'Z')), 'e' => 'array_2_e');
$arr3 = array_replace_recursive ($arr1, $arr2);
var_dump($arr3);
输出:
array(2) {
["a"]=>
array(2) {
["b"]=>
array(2) {
["c"]=>
string(1) "Y"
["d"]=>
string(1) "Z"
}
["d"]=>
string(9) "array_1_d"
}
["e"]=>
string(9) "array_2_e"
}
http://www.php.net/manual/en/function.array-replace-recursive.php
关于php - 合并两个多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7731340/