3v4l.org

run code in 300+ PHP versions simultaneously
<?php $resultset = [ ["id" => "1", "cityId" => "1", "cityName" => "Bengaluru", "runId" => "2", "distance" => "10k", "status" => "1"], ["id" => "2", "cityId" => "1", "cityName" => "Bengaluru", "runId" => "1", "distance" => "5k", "status" => "1"], ["id" => "3", "cityId" => "1", "cityName" => "Bengaluru", "runId" => "5", "distance" => "3k", "status" => "0"], ["id" => "4", "cityId" => "2", "cityName" => "Chennai", "runId" => "1", "distance" => "5k", "status" => "1"], ["id" => "5", "cityId" => "2", "cityName" => "Chennai", "runId" => "2", "distance" => "10k", "status" => "1"], ["id" => "6", "cityId" => "2", "cityName" => "Chennai", "runId" => "4", "distance" => "15k", "status" => "1"] ]; foreach ($resultset as $row) { if (!isset($result[$row["cityId"]])) { $result[$row["cityId"]] = array("id" => $row["id"], "cityId" => $row["cityId"], $row["cityName"] => array(array_slice($row,-3))); } else { $result[$row['cityId']][$row["cityName"]][] = array_slice($row,-3); } } $result = array("status" => true, "runsBasedOnCity" => array_values($result)); var_export(json_encode($result, JSON_PRETTY_PRINT));

preferences:
30.33 ms | 407 KiB | 5 Q