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

时间:2014-02-18 21:38:18

标签: php arrays multidimensional-array compare

我有两个数组,产品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个数量,所以使第一个数量= 2)。或者我想要处理我想要的东西并创建第三个数组。

如何实现这个目标?

1 个答案:

答案 0 :(得分:1)

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

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