我有两个数组:
$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
答案 0 :(得分:2)
如果a
中的键值不同,请更新b
中的键,如果a
中的键如何向b
添加新键,并且不在a
$a = array_replace($a, $b);
如果a
中的密钥不在b
foreach(array_diff_key($a, $b) as $k=>$v) {
$a[$k] = 0;
}