3v4l.org

run code in 300+ PHP versions simultaneously
<?php $res1 = [ ['ID' => 60,'TOTAL' => 500], ['ID' => 61,'TOTAL' => 600], ['ID' => 63,'TOTAL' => 500] ]; $res2 = [ ['ID' => 60,'TOTAL' => 600], ['ID' => 61,'TOTAL' => 700], ['ID' => 64,'TOTAL' => 800] ]; function summTotal(&$result, $parts) { array_walk($parts, function($item) use (&$result){ if (isset($result[$item['ID']])) { $result[$item['ID']]['TOTAL'] += $item['TOTAL']; } else { $result[$item['ID']] = $item; } }); } $result = []; summTotal($result, $res1); summTotal($result, $res2); print_r($result);
Output for 7.1.25 - 7.1.30, 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
Array ( [60] => Array ( [ID] => 60 [TOTAL] => 1100 ) [61] => Array ( [ID] => 61 [TOTAL] => 1300 ) [63] => Array ( [ID] => 63 [TOTAL] => 500 ) [64] => Array ( [ID] => 64 [TOTAL] => 800 ) )

preferences:
147.19 ms | 408 KiB | 5 Q