3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = Array ( '0' => Array ( 'ac_no' => 100001, 'amount' => 0.00 ), '1' => Array ( 'ac_no' => 100001, 'amount' => 51255.11 ), '2' => Array ( 'ac_no' => 100001, 'amount' => -500.00 ), '3' => Array ( 'ac_no' => 100001, 'amount' => -621.05 ), '4' => Array ( 'ac_no' => 100002, 'amount' => .00 ), '5' => Array ( 'ac_no' => 100003, 'amount' => .00 ), '6' => Array ( 'ac_no' => 100004, 'amount' => 20714.00 ), '7' => Array ( 'ac_no' => 100004, 'amount' => 0.00 ) ); $acNoWiseArray = []; foreach($array as $arr){ $acNoWiseArray[$arr['ac_no']]['sum'][] = $arr['amount']; } $finalArray = []; foreach($acNoWiseArray as $key=>&$value){ foreach($value['sum'] as $k=> $val){ $finalArray[$key]['new_sum'][] = (is_array($value)) ? array_sum(array_map('abs',$value['sum'])) : abs($value['sum'][$k]); array_shift($value['sum']); } } print_r($finalArray);

preferences:
24.43 ms | 402 KiB | 5 Q