3v4l.org

run code in 300+ PHP versions simultaneously
<?php $numericPriorities = array_flip([5, 4, 65]); $numericOutlier = count($numericPriorities); $wordPriorities = array_flip(['first', 'second', 'third']); $wordOutlier = count($wordPriorities); $arr = ['third' => 321, 4 => 1, 'zero' => 'last of words', 7 => 'last of nums', 65 => 6, 'first' => 63, 5 => 88, 'second' => 0]; uksort( $arr, function($a, $b) use ($numericPriorities, $numericOutlier, $wordPriorities, $wordOutlier) { return [!is_int($a), $numericPriorities[$a] ?? $numericOutlier, $wordPriorities[$a] ?? $wordOutlier] <=> [!is_int($b), $numericPriorities[$b] ?? $numericOutlier, $wordPriorities[$b] ?? $wordOutlier]; } ); var_export($arr);

preferences:
105.23 ms | 406 KiB | 5 Q