3v4l.org

run code in 300+ PHP versions simultaneously
<?php $indexes = [ 26 => ["namespace" => "X\\Y\\Zed"], 9 => ["namespace" => "A\\B\\See"], 3 => ["namespace" => "A\\B\\Bee"], 38 => ["namespace" => "A\\B\\C\\Dee"], 51 => ["namespace" => "X\\Wye"], 16 => ["namespace" => "A\\Sea"], 12 => ["namespace" => "A\\Bees"], ]; uasort($indexes, static function (array $entry1, array $entry2): int { $ns1Parts = explode('\\', $entry1['namespace']); $ns2Parts = explode('\\', $entry2['namespace']); $ns1Length = count($ns1Parts); $ns2Length = count($ns2Parts); for ($i = 0; $i < $ns1Length && isset($ns2Parts[$i]); $i++) { $isLastPartForNs1 = $i === $ns1Length - 1; $isLastPartForNs2 = $i === $ns2Length - 1; if ($isLastPartForNs1 !== $isLastPartForNs2) { return $isLastPartForNs1 <=> $isLastPartForNs2; } $nsComparison = $ns1Parts[$i] <=> $ns2Parts[$i]; if ($nsComparison !== 0) { return $nsComparison; } } return 0; }); print_r($indexes);
Output for git.master, git.master_jit, rfc.property-hooks
Array ( [38] => Array ( [namespace] => A\B\C\Dee ) [3] => Array ( [namespace] => A\B\Bee ) [9] => Array ( [namespace] => A\B\See ) [12] => Array ( [namespace] => A\Bees ) [16] => Array ( [namespace] => A\Sea ) [26] => Array ( [namespace] => X\Y\Zed ) [51] => Array ( [namespace] => X\Wye ) )

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:
100.66 ms | 407 KiB | 5 Q