3v4l.org

run code in 300+ PHP versions simultaneously
<?php $sales = [ [ 'salesID' => 1, 'price' => 50, 'user_first' => 'Jane', 'user_last' => 'Doe', ], [ 'salesID' => 2, 'price' => 250, 'user_first' => 'John', 'user_last' => 'Smith', ], [ 'salesID' => 1, 'price' => 50, 'user_first' => 'Jane', 'user_last' => 'Doe', ], ]; $result = []; foreach ($sales as $row) { $id = $row['salesID']; $result[$id]['Name'] ??= $row['user_first'] . ' ' . $row['user_last']; $result[$id]['Sales'] = ($result[$id]['Sales'] ?? 0) + $row['price']; $result[$id]['Signups'] = ($result[$id]['Signups'] ?? 0) + 1; } krsort($result); var_export($result);
Output for 8.1.32 - 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 ( 2 => array ( 'Name' => 'John Smith', 'Sales' => 250, 'Signups' => 1, ), 1 => array ( 'Name' => 'Jane Doe', 'Sales' => 100, 'Signups' => 2, ), )

preferences:
52.36 ms | 854 KiB | 4 Q