<?php
$array = [
'first_level' => [
'dir_3' => [
'subdir_1' => [
'file_2.mp4' => (object) [
'name' => 'file_2.mp4'
],
'file_1.mp4' => (object) [
'name' => 'file_1.mp4'
]
]
],
'dir_1' => [
'subdir_2' => [
'file_6.mp4' => (object) [
'name' => 'file_6.mp4'
],
'file_9.mp4' => (object) [
'name' => 'file_9.mp4'
],
'file_7.mp4' => (object) [
'name' => 'file_7.mp4'
],
'file_17.mp4' => (object) [
'name' => 'file_17.mp4'
],
],
'subdir_1' => [
'file_8.mp4' => (object) [
'name' => 'file_8.mp4'
],
]
]
],
'fake_level' => [
'dir_7' => [
'subdir_1' => [
'file_5.mp4' => (object) [
'name' => 'file_5.mp4',
'size' => 56,
'active' => true,
],
'file_19.mp4' => (object) [
'name' => 'file_19.mp4',
'size' => 77,
'active' => false,
],
'file_33.mp4' => (object) [
'name' => 'file_33.mp4',
'size' => 81,
'active' => true,
],
]
],
'dir_13' => [],
'dir_101' => [],
'dir_66' => [],
]
];
$nat_ksort_r = function(&$data) use (&$nat_ksort_r) {
if (is_array($data)) {
ksort($data, SORT_NATURAL);
foreach ($data as &$item) {
$nat_ksort_r($item);
}
}
};
$nat_ksort_r($array);
var_export($array);
- Output for 8.0.1 - 8.0.30, 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 (
'fake_level' =>
array (
'dir_7' =>
array (
'subdir_1' =>
array (
'file_5.mp4' =>
(object) array(
'name' => 'file_5.mp4',
'size' => 56,
'active' => true,
),
'file_19.mp4' =>
(object) array(
'name' => 'file_19.mp4',
'size' => 77,
'active' => false,
),
'file_33.mp4' =>
(object) array(
'name' => 'file_33.mp4',
'size' => 81,
'active' => true,
),
),
),
'dir_13' =>
array (
),
'dir_66' =>
array (
),
'dir_101' =>
array (
),
),
'first_level' =>
array (
'dir_1' =>
array (
'subdir_1' =>
array (
'file_8.mp4' =>
(object) array(
'name' => 'file_8.mp4',
),
),
'subdir_2' =>
array (
'file_6.mp4' =>
(object) array(
'name' => 'file_6.mp4',
),
'file_7.mp4' =>
(object) array(
'name' => 'file_7.mp4',
),
'file_9.mp4' =>
(object) array(
'name' => 'file_9.mp4',
),
'file_17.mp4' =>
(object) array(
'name' => 'file_17.mp4',
),
),
),
'dir_3' =>
array (
'subdir_1' =>
array (
'file_1.mp4' =>
(object) array(
'name' => 'file_1.mp4',
),
'file_2.mp4' =>
(object) array(
'name' => 'file_2.mp4',
),
),
),
),
)
preferences:
91.42 ms | 412 KiB | 5 Q