一个二维数组根据某个字段相加然后去重的操作

 1 [0] => array(4) {
 2     ["id"] => int(1)
 3     ["bid"] => int(1)
 4     ["sales"] => string(2) "15"
 5     ["price"] => string(4) "5975"
 6   }
 7   [1] => array(4) {
 8     ["id"] => int(2)
 9     ["bid"] => int(1)
10     ["sales"] => string(1) "2"
11     ["price"] => string(3) "659"
12   }
13   [2] => array(2) {
14     ["id"] => int(3)
15     ["bid"] => int(1)
16   }
17   [3] => array(2) {
18     ["id"] => int(4)
19     ["bid"] => int(1)
20   }
21   [4] => array(4) {
22     ["id"] => int(5)
23     ["bid"] => int(1)
24     ["sales"] => string(1) "1"
25     ["price"] => string(3) "256"
26   }

我要根据bid把sales累加和price累加,人后去掉重复的bid只保留一个,方法:

 1 $new = array();
 2             foreach ($store_i1 as $k=>$v){
 3                 if(isset($new[$v['bid']])){
 4                     $new[$v['bid']]['sales'] += $v['sales'];
 5                     $new[$v['bid']]['price'] += $v['price'];
 6                 }else{
 7                     $new[$v['bid']]['sales'] = $v['sales'];
 8                     $new[$v['bid']]['price'] = $v['price'];
 9                 }
10 
11             }

输出结果:

 1  [1] => array(2) {
 2     ["sales"] => int(18)
 3     ["price"] => int(6890)
 4   }
 5   [3] => array(2) {
 6     ["sales"] => int(0)
 7     ["price"] => int(0)
 8   }
 9   [2] => array(2) {
10     ["sales"] => string(3) "0"
11     ["price"] => string(5) "0"
12   }
人生得意须尽欢,莫使金樽空对月.
原文地址:https://www.cnblogs.com/luojie-/p/8780477.html