【发布时间】:2015-09-14 21:34:46
【问题描述】:
如何对数组求和相同的元素值?
$arr = [
['id' => 1, 'qty' => 100, 'name' => 'a'],
['id' => 1, 'qty' => 100, 'name' => 'a'],
['id' => 2, 'qty' => 100, 'name' => 'b']
];
成为:
$arr = [
['id' => 1, 'qty' => 200, 'name' => 'a'],
['id' => 2, 'qty' => 100, 'name' => 'b']
];
我尝试过但返回
[ 1=>['qty'=>200], 2=>['qty'=>100] ]
我尝试过但返回
for($i=0; $i<count($cok);$i++){
$item_id = $cok[$i]['id'];
$quantity = $cok[$i]['quantity'];
if (isset($new_items[$item_id])) {
$new_items[$item_id] = ['quantity' => $new_items[$item_id]['quantity'] + $quantity];
} else {
$new_items[$item_id] = ['quantity' => $quantity];
}
}
【问题讨论】:
-
你试过了吗?
-
foreach() 循环 + 基础数学
-
您可以使用存储唯一键的地图
-
这与我尝试的回报相同,但与我想要的不同
标签: php