【问题标题】:Compare two multidimensional arrays and add the missings比较两个多维数组并添加缺失的
【发布时间】:2023-04-04 08:13:01
【问题描述】:

我有两个数组,其中产品 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
    )
)

我的第一个数组是登录用户的购物篮。其次是同一用户未登录购物篮。当用户登录时,我必须对这两个数组进行比较并将缺少的键添加到第一个数组中,但是如果两个数组中存在相同的键,我必须将第一个数组的 _qty 与第二个数组的 _qty 进行四舍五入(例如:[1] => _qty 为 1并且第二个数组也有 1 个 qty 所以让第一个 qty = 2 )。或者处理我想要的并创建第三个数组我猜也是可能的。

如何做到这一点?

【问题讨论】:

    标签: php arrays multidimensional-array compare


    【解决方案1】:

    一个简单的foreach 就可以解决问题:

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

    【讨论】:

    • 你先生完全救了我。我现在不能接受你的回答,但我会在 9 分钟内接受 :)
    猜你喜欢
    • 2020-08-08
    • 2020-08-28
    • 2017-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-02
    • 1970-01-01
    • 2016-05-07
    相关资源
    最近更新 更多