3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a = [ [ 'FIRSTID' => 58, 'SECONDID' => 12, 'TYPE' => 319, 'AMOUNT' => 300 ], [ 'FIRSTID' => 58, 'SECONDID' => 12, 'TYPE' => 319, 'AMOUNT' => 600 ], [ 'FIRSTID' => 59, 'SECONDID' => 14, 'TYPE' => 321, 'AMOUNT' => 900 ], [ 'FIRSTID' => 59, 'SECONDID' => 14, 'TYPE' => 321, 'AMOUNT' => 500 ], [ 'FIRSTID' => 60, 'SECONDID' => 13, 'TYPE' => 320, 'AMOUNT' => 1000 ], [ 'FIRSTID' => 60, 'SECONDID' => 13, 'TYPE' => 321, 'AMOUNT' => 1500 ] ]; $r = []; foreach($a as $v){ array_key_exists($v['FIRSTID'], $r) ? ($r[$v['FIRSTID']]['AMOUNT'] += $v['AMOUNT']) : $r[$v['FIRSTID']] = $v; } echo '<pre>'; print_r($r);
Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
<pre>Array ( [58] => Array ( [FIRSTID] => 58 [SECONDID] => 12 [TYPE] => 319 [AMOUNT] => 900 ) [59] => Array ( [FIRSTID] => 59 [SECONDID] => 14 [TYPE] => 321 [AMOUNT] => 1400 ) [60] => Array ( [FIRSTID] => 60 [SECONDID] => 13 [TYPE] => 320 [AMOUNT] => 2500 ) )

preferences:
164.68 ms | 409 KiB | 5 Q