3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ ['city' => 'NewYork', 'cash' => '1000'], ['city' => 'Philadelphia', 'cash' => '2300'], ['city' => 'NewYork', 'cash' => '2000'] ]; $result = []; foreach ($array as $a) { if (!isset($result[$a['city']])) { $result[$a['city']] = $a; // store temporary city-keyed result array (avoid Notices) } else { $result[$a['city']]['cash'] += $a['cash']; // add current value to previous value } } var_export(array_values($result)); // remove temporary keys
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
array ( 0 => array ( 'city' => 'NewYork', 'cash' => 3000, ), 1 => array ( 'city' => 'Philadelphia', 'cash' => '2300', ), )

preferences:
71.82 ms | 1121 KiB | 4 Q