![](/img/trans.png)
[英]How to build the keys of a multidimensional array in PHP from the values of another array?
[英]PHP update array with values and keys from another array
我有兩個數組:
$a = [
36 => 7,
38 => 9,
41 => 12,
42 => 5
];
$b = [
38 => 9,
41 => 9,
42 => 5
];
數組a
具有一個額外的key[36]
而數組b
具有key[41]
的不同值。
我如何設置一個鍵a
等於0
,如果它是不是在b
,然后我如何更新的關鍵a
如果它在不同的值b
和如何添加新鍵a
,如果它是在b
和沒有a
?
現在,我已經編寫了以下代碼:
foreach($a as $key => $value){
if(array_key_exists($key, $b) && $value != $b[$key]){
$a[$key] = $b[$key];
} else{
$a[$key] = 0;
}
}
if($diff = array_diff_key($b, $a)){
foreach($diff as $key => $value){
$a[$key] = $value;
}
}
ksort($a);
print_r($a);
它有效,但是我覺得應該有一種更簡單的方法:-s
在更新的關鍵a
如果它在不同的值b
,我如何新的密鑰添加到a
如果是b
,而不是在a
$a = array_replace($a, $b);
設置在一個關鍵的a
等於0,如果它不是在b
foreach(array_diff_key($a, $b) as $k=>$v) {
$a[$k] = 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.