3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ ['date' => '2017-08-22', 'AAA' => 1231], ['date' => '2017-08-21', 'AAA' => 1172], ['date' => '2017-08-20', 'AAA' => 1125], ['date' => '2017-08-21', 'BBB' => 251], ['date' => '2017-08-20', 'BBB' => 21773], ['date' => '2017-08-22', 'CCC' => 3750], ['date' => '2017-08-20', 'CCC' => 321750], ]; foreach ($array as $row) { $date = $row['date']; unset($row['date']); $result[$date] = array_merge($result[$date] ?? [], $row); } var_export($result);

preferences:
29.21 ms | 405 KiB | 5 Q