Merge array by key and sum another key
我有这个数组,我需要通过键"名称"合并,还要对键"价格"求和,更多在代码示例中。 键是静态的。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Array
(
[0] => Array
(
[name ] => Sapiente quo incidunt nostrum dolore
[price ] => 50
)
[1] => Array
(
[name ] => Global Donation
[price ] => 10
)
[2] => Array
(
[name ] => Global Donation
[price ] => 10
)
) |
所需结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Array
(
[0] => Array
(
[name ] => Sapiente quo incidunt nostrum dolore
[price ] => 50
)
[1] => Array
(
[name ] => Global Donation
[price ] => 20
)
) |
非常感谢你
-
这是来自mysql服务器还是其他来源? 知道这一点可以为您提供更准确的答案。
-
在20分钟前刚问过:stackoverflow.com/q/32619813/3933332,今天还问了另一个问题...
-
@ Rizier123说句公道话,他不仅对数组进行了重复数据删除,而且还询问如何同时求和一个值。 @OP,这是来自查询吗? 因为这很可能可以在查询中通过对名称进行分组并将sum(price)作为列来完成。 除此之外,您是否尝试过自己解决此问题? 还是只是希望有人为您做这件事?
好,我找到了
1 2 3 4 5 6 7 8
| $items = array();
foreach($prepare as $k=>$v) {
if(!isset($items[$v['name']])) {
$items[$v['name']] = $v;
} else {
$items[$v['name']]['price'] += $v['price'];
}
} |