3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = array( array('FIRSTID' =>58, 'SECONDID' =>12, 'TYPE' =>319, 'AMOUNT' =>300 ), array('FIRSTID' =>58, 'SECONDID' =>12, 'TYPE' =>319, 'AMOUNT' =>600 ), array('FIRSTID' =>59, 'SECONDID' =>14, 'TYPE' =>321, 'AMOUNT' =>900 ), array('FIRSTID' =>59, 'SECONDID' =>14, 'TYPE' =>321, 'AMOUNT' =>500 ), array('FIRSTID' =>60, 'SECONDID' =>13, 'TYPE' =>320, 'AMOUNT' =>1000 ), array('FIRSTID' =>60, 'SECONDID' =>13, 'TYPE' =>321, 'AMOUNT' =>1500 ), ); $groups = array(); foreach ($array as $item) { $key = $item['FIRSTID'].''.$item['SECONDID'].''.$item['TYPE']; if (!array_key_exists($key, $groups)) { $groups[$key] = array( 'FIRSTID' => $item['FIRSTID'], 'SECONDID' => $item['SECONDID'], 'TYPE' => $item['TYPE'], 'AMOUNT' => $item['AMOUNT'], ); } else { $groups[$key]['AMOUNT'] = $groups[$key]['AMOUNT'] + $item['AMOUNT']; } } echo '<pre>'; print_r($groups); echo '</pre>';

preferences:
30.15 ms | 404 KiB | 5 Q