在使用array_replace_recursive
函数时,如果要覆盖键而不是追加键,可以使用以下方法:
$array1 = [
'foo' => [
'bar' => 'value1'
]
];
$array2 = [
'foo' => [
'bar' => 'value2',
'baz' => 'value3'
]
];
$result = array_replace_recursive($array1, $array2);
print_r($result);
输出结果:
Array
(
[foo] => Array
(
[bar] => value2
[baz] => value3
)
)
在上面的示例中,array_replace_recursive
函数会递归地将$array2
中的值覆盖到$array1
中。由于$array2
中的'foo'
键已经存在于$array1
中,所以array_replace_recursive
函数会将$array2
中的值覆盖掉$array1
中的值,而不是追加新的键值对。
注意,array_replace_recursive
函数会递归地进行键值对的合并,如果存在多维数组,它将递归地合并它们,直到找到最底层的键值对。