3v4l.org

run code in 300+ PHP versions simultaneously
<?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' => [], ] ]; function nat_ksort_r(array &$data): void { if (is_array($data)) { ksort($data, SORT_NATURAL); array_walk($data, __METHOD__); } } nat_ksort_r($array); var_export($array);
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
Fatal error: Uncaught TypeError: nat_ksort_r(): Argument #1 ($data) must be of type array, stdClass given in /in/sWY4u:63 Stack trace: #0 [internal function]: nat_ksort_r(Object(stdClass), 'file_5.mp4') #1 /in/sWY4u(67): array_walk(Array, 'nat_ksort_r') #2 [internal function]: nat_ksort_r(Array, 'subdir_1') #3 /in/sWY4u(67): array_walk(Array, 'nat_ksort_r') #4 [internal function]: nat_ksort_r(Array, 'dir_7') #5 /in/sWY4u(67): array_walk(Array, 'nat_ksort_r') #6 [internal function]: nat_ksort_r(Array, 'fake_level') #7 /in/sWY4u(67): array_walk(Array, 'nat_ksort_r') #8 /in/sWY4u(71): nat_ksort_r(Array) #9 {main} thrown in /in/sWY4u on line 63
Process exited with code 255.

preferences:
82.03 ms | 1211 KiB | 4 Q