<?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);
- Output for 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- array (
0 =>
array (
'id' => 2,
'level' => 0,
'email' => 'bexcailimited1@gmail.com',
),
1 =>
array (
'id' => 3,
'level' => 0,
'email' => 'bexcailimited2@gmail.com',
),
2 =>
array (
'id' => 4,
'level' => 1,
'email' => 'bexcailimited3@gmail.com',
),
3 =>
array (
'id' => 5,
'level' => 2,
'email' => 'bexcailimited4@gmail.com',
),
4 =>
array (
'id' => 6,
'level' => 3,
'email' => 'bexcailimited5@gmail.com',
),
5 =>
array (
'id' => 7,
'level' => 0,
'email' => 'bexcaitest@gmail.com',
),
6 =>
array (
'id' => 8,
'level' => 1,
'email' => 'Test012@gmail.com',
),
7 =>
array (
'id' => 9,
'level' => 2,
'email' => 'test03@gmail.com',
),
8 =>
array (
'id' => 10,
'level' => 3,
'email' => 'test04@gmail.com',
),
9 =>
array (
'id' => 11,
'level' => 4,
'email' => 'test05@gmail.com',
),
10 =>
array (
'id' => 12,
'level' => 5,
'email' => 'test06@gmail.com',
),
)
preferences:
67.07 ms | 410 KiB | 5 Q