PHP使用另一个数组中的值和键更新数组

时间:2018-09-22 10:37:05

标签: php arrays

我有两个数组:

$a = [
    36 => 7,
    38 => 9,
    41 => 12,
    42 => 5
];

$b = [
    38 => 9,
    41 => 9,
    42 => 5
];

数组a有一个额外的key[36],而数组b的{​​{1}}值却不同。

如果key[41]中的密钥不在a中,我如何将其设置为等于0,然后如何在b中将密钥更新为{ a中的值是否不同?如何在b中而不是a中向b添加新密钥?

现在我已经编写了这段代码:

a

它有效,但是我觉得应该有一种更简单的方法:-s

1 个答案:

答案 0 :(得分:2)

如果a中的键值不同,请更新b中的键,如果a中的键如何向b添加新键,并且不在a

$a = array_replace($a, $b);

如果a中的密钥不在b

中,则将其设置为等于0
foreach(array_diff_key($a, $b) as $k=>$v) {
   $a[$k] = 0;
}

demo