3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ [ "id" => "food,Travel", "names" => "chimpanzee" ], [ "id" => "food", "name" => "meeting" ], [ "id" => "Z1", "name" => "dynasty" ], [ "id" => "X", "name" => "chocolate" ], [ "id" => "Travel", "name" => "bananas" ], [ "id" => "Travel", "name" => "fantasy" ], [ "id" => "Travel", "name" => "football" ] ]; $newarray= []; foreach($array as $key => $value) { if(is_array(explode(",", $value["id"]))) { foreach(explode(",", $value["id"]) as $category) { $newarray[$category][$key] = $value; $newarray[$category][$key]["id"] = $category; } } else { $newarray[$value["id"]][$key] = $value; } } var_dump($newarray);

preferences:
27.35 ms | 405 KiB | 5 Q