一個二維數組根據某個字段相加然后去重的操作


 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   }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM