2014-02-18 56 views
0

我有两个数组,其中存储有作为关键字的产品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(例如:[1] => _qty为1第二个数组也有1个数,所以第一个数= 2)。或者处理我想要的并创建第三个数组,我猜也是可能的。

如何实现这个?

回答

1

一个简单foreach应该做的伎俩:

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

你先生完全救了我。我现在无法接受你的回答,但我会在9分钟内:) –