簡體   English   中英

比較兩個多維數組並添加缺失項

[英]Compare two multidimensional arrays and add the missings

我有兩個將產品ID存儲為鍵的數組。

第一個數組如下:

Array
(
    [1] => Array
    (
        [_sku] => 
        [_qty] => 1
    )
    [34] => Array
    (
        [_sku] => 
        [_qty] => 3
    )
    [23] => Array
    (
        [_sku] => 
        [_qty] => 1
    )
)

第二個數組如下:

Array
(
    [1] => Array
    (
        [_sku] => 
        [_qty] => 1
    )
    [54] => Array
    (
        [_sku] => 
        [_qty] => 1
    )
)

我的第一個數組是已登錄用戶的購物籃。 其次是同一用戶尚未登錄。 當用戶登錄時,我必須強制使用這2個數組並將缺少的鍵添加到第一個數組中,但是如果兩個數組中都存在相同的鍵,則必須將第一個數組的_qty與第二個數組的_qty取整(例如:[1] => _qty為1第二個數組也有1個qty,因此使第一個qty = 2)。 或處理我想要的東西並創建第三個數組,我猜也是可能的。

如何做到這一點?

一個簡單的foreach應該可以解決問題:

foreach ($second as $key => $value) {
    if (isset($first[$key])) {
        $first[$key]['_qty'] += $value['_qty'];
    } else {
        $first[$key] = $value;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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