PHP 二维数组相同字段累计相加

$arr = [0:{types:'东莞项目',fail:4,success:69,total:73},
        1:{types:'东莞项目',fail:6,success:42,total:48},
        2:{types:'中山项目',fail:2,success:60,total:62},
        3:{types:'佛山项目',fail:3,success:70,total:73},
        4:{types:'佛山项目',fail:5,success:74,total:79}];    
$res = array();
    foreach($arr as $row){
       if(isset($res[$row['types']])){
          $res[$row['types']]['fail'] += $row['fail'];
          $res[$row['types']]['success'] += $row['success'];
          $res[$row['types']]['total'] += $row['total'];
       }else{
          $res[$row['types']] = $row;
       }
    }
dd(res);
//结果为:
array(3){
   [东莞项目]=>array(4){
            [types]=>'东莞项目',
            [fail]=>10,
            [success]=>111,
            [total]=>121},
   [中山项目]=>array(4){
            [types]=>'中山项目',
            [fail]=>2,
            [success]=>60,
            [total]=>62},
   [佛山项目]=>array(4){
            [types]=>'佛山项目',
            [fail]=>8,
            [success]=>144,
            [total]=>152},
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值