>我有两个数组,产品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;
}
}