3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ ['currency' => 'SGD', 'duration' => 8.00, 'cost' => 228.57], ['currency' => null, 'duration' => 8.00, 'cost' => null], ['currency' => 'MYR', 'duration' => 12.00, 'cost' => 342.86], ['currency' => 'SGD', 'duration' => 8.00, 'cost' => 228.57], ['currency' => 'MYR', 'duration' => 12.00, 'cost' => 342.86], ]; $result = []; foreach ($array as $row) { if (!isset($result[$row['currency']])) { $result[$row['currency']] = $row; } else { $result[$row['currency']]['duration'] += $row['duration']; $result[$row['currency']]['cost'] += $row['cost']; } } var_export(array_values($result));

preferences:
160.78 ms | 405 KiB | 5 Q