3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr = [ 'children' => [ 'a.class-1.php' => [], 'a' => [], 'a-1.class-1' => [], 'a.class.php' => [], 'a.class' => [], 'a-1.class-1.php-1' => [], 'a-1.class.php' => [], 'a-1' => [], 'a.class-1.php-1' => [], 'a.class.php-1' => [], ] ]; uksort($arr['children'], function($a, $b){ $a = explode('.', $a); $b = explode('.', $b); $s = ''; $i = 0; while (isset($a[$i]) && isset($b[$i]) && $a[$i] == $b[$i]) { $s .= $a[$i++] . '.'; } return $s . ($a[$i] ?? '') <=> $s . ($b[$i] ?? ''); }); print_r(array_keys($arr['children']));
Output for git.master, git.master_jit, rfc.property-hooks
Array ( [0] => a [1] => a.class [2] => a.class.php [3] => a.class.php-1 [4] => a.class-1.php [5] => a.class-1.php-1 [6] => a-1 [7] => a-1.class.php [8] => a-1.class-1 [9] => a-1.class-1.php-1 )

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:
55.6 ms | 406 KiB | 5 Q