比较两个多维数组并添加缺失项



>我有两个数组,产品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 = 2)。或者处理我想要的东西并创建第三个数组,我想也是可能的。

如何实现这一点?

一个简单的

foreach应该可以解决问题:

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

相关内容

  • 没有找到相关文章

最新更新