如何在不删除第一个数组中的不匹配键的情况下用另一个数组替换数组?

时间:2013-07-24 20:06:18

标签: php arrays

数组1:

array('key01'=>321312, 'key03'=>23)

ARRAY2:

array('key01'=>22, 'key04'=>78, 'key05'=>54)

我正在尝试将array1替换为array2的值,并保留不在array2中的任何键。

结果将是:

array('key01'=>22, 'key03'=>23, 'key04'=>78, 'key05'=>54)

2 个答案:

答案 0 :(得分:1)

$arr1 = $arr2 + $arr1;

按键会保持原样:

$arr1 = array('key01'=>22, 'key04'=>78, 'key05'=>54, 'key03'=>23);

但顺序很重要。在上面的例子中,$ arr2是第一个,它将用$ arr1的相同键覆盖值。

答案 1 :(得分:1)

您可以使用array_merge

$a1 = array('key01'=>321312, 'key03'=>23);
$a2 = array('key01'=>22, 'key04'=>78, 'key05'=>54);
print_r(array_merge($a1,$a2));