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


     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   }
    人生得意须尽欢,莫使金樽空对月.
  • 相关阅读:
    JavaWeb
    List的三种遍历(转)
    Java中父类和子类集合互相转换(转)
    Day4
    Ubuntu20.04配置 ES7.17.0集群
    K8S中部署apisix(非ingress)
    使用 Flutter&&Hive&&Bloc 写一个待办小demo
    SQL多行数据分组后合并某个字段
    sql group 拼接字段
    Socket
  • 原文地址:https://www.cnblogs.com/luojie-/p/8780477.html
Copyright © 2020-2023  润新知