3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ ['city' => 'NewYork', 'cash' => '1000'], ['city' => 'Philadelphia', 'cash' => '2300'], ['city' => 'NewYork', 'cash' => '2000'] ]; var_export( array_reduce( $array, function($result, $row) { static $ref; if (!isset($ref[$row['city']])) { $ref[$row['city']] = $row; $result[] = &$ref[$row['city']]; } else { $ref[$row['city']]['cash'] += $row['cash']; } return $result; } ) );
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
array ( 0 => array ( 'city' => 'NewYork', 'cash' => 3000, ), 1 => array ( 'city' => 'Philadelphia', 'cash' => '2300', ), )

preferences:
95.93 ms | 407 KiB | 5 Q