3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ [ "id" => 2, "level" => 0, "email" => "bexcailimited1@gmail.com", ], [ [ "id" => 4, "level" => 1, "email" => "bexcailimited3@gmail.com", ], [ [ "id" => 5, "level" => 2, "email" => "bexcailimited4@gmail.com", ], [ [ "id" => 6, "level" => 3, "email" => "bexcailimited5@gmail.com", ], ], ], ], [ "id" => 3, "level" => 0, "email" => "bexcailimited2@gmail.com", ], [ "id" => 7, "level" => 0, "email" => "bexcaitest@gmail.com", ], [ [ "id" => 8, "level" => 1, "email" => "Test012@gmail.com", ], [ [ "id" => 9, "level" => 2, "email" => "test03@gmail.com", ], [ [ "id" => 10, "level" => 3, "email" => "test04@gmail.com", ], [ [ "id" => 11, "level" => 4, "email" => "test05@gmail.com", ], [ [ "id" => 12, "level" => 5, "email" => "test06@gmail.com", ], ], ], ], ], ], ]; function flattenList(array $array): array { $result = []; foreach ($array as $row) { array_push($result, ...array_is_list($row) ? flattenList($row) : [$row]); } return $result; } $flatten2d = flattenlist($array); usort($flatten2d, fn($a, $b) => $a['id'] <=> $b['id']); var_export($flatten2d);

preferences:
24.28 ms | 407 KiB | 5 Q