当前位置 博文首页 > 你是人间四月天:php数组给相同键值分组后求和

    你是人间四月天:php数组给相同键值分组后求和

    作者:[db:作者] 时间:2021-09-05 13:12

    原数组$all_bill_deduct:

    array (size=4)
      0 => 
        array (size=2)
          'bill_no' => string 'plockbill_202007013' (length=19)
          'deduct_amount' => string '1.00' (length=4)
      1 => 
        array (size=2)
          'bill_no' => string 'plockbill_202007014' (length=19)
          'deduct_amount' => string '3.00' (length=4)
      2 => 
        array (size=2)
          'bill_no' => string 'plockbill_202007013' (length=19)
          'deduct_amount' => string '2.00' (length=4)
      3 => 
        array (size=2)
          'bill_no' => string 'plockbill_202007014' (length=19)
          'deduct_amount' => string '6.00' (length=4)
    

    需要按相同单号(plockbill_202007013,plockbill_202007014)分组后求各自的总金额:

    $all_bill_deduct_set = [];
    $result =   array();
    foreach($all_bill_deduct as $key => $val){
    	$result[$val['bill_no']][] = $val['deduct_amount'];
    	$all_bill_deduct_set[$val['bill_no']]['all_deduct_amount'] = array_sum($result[$val['bill_no']]);
    }
    

    结果:

    array (size=2)
      'plockbill_202007013' => 
        array (size=1)
          'all_deduct_amount' => float 3
      'plockbill_202007014' => 
        array (size=1)
          'all_deduct_amount' => float 9
          
    
    cs