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 git.master, git.master_jit, rfc.property-hooks
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.

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
30.36 ms | 406 KiB | 5 Q