簡體   English   中英

PHP使用另一個數組中的值和鍵更新數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM