3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ [ "route_id" => 1539871200, "booking_id" => 171, "route" => "Boattrip Destination 2", "date" => "18 October 2018", "time" => "14:00 - 16:00" ], [ "route_id" => 1539856800, "booking_id" => 170, "route" => "Boattrip Destination 2", "date" => "18 October 2018", "time" => "10:00 - 12:00" ], [ "route_id" => 1539856800, "booking_id" => 162, "route" => "Boattrip Destination 2", "date" => "18 October 2018", "time" => "10:00 - 12:00" ] ]; foreach ($array as $set) { if (isset($result[$set["route_id"]])) { $result[$set["route_id"]]["booking_ids"][] = $set["booking_id"]; } else { $result[$set["route_id"]] = [ "route" => $set["route_id"], "date" => $set["date"], "time" => $set["time"], "booking_ids" => [$set["booking_id"]] ]; } } ksort($result); // ... you did say you wanted to sort them by route_id var_export($result);

preferences:
29.97 ms | 402 KiB | 5 Q