3v4l.org

run code in 300+ PHP versions simultaneously
<?php $chars = '6Ata7~58jh&*(*HLy^)&a[yjJ>8]G8,$9<Y;B:%^'; $lookup = array_fill_keys(range('a', 'z'), 0) + array_fill_keys(range('A', 'Z'), 1) + array_fill_keys(range(0, 9), 2); $array = str_split($chars); usort($array, fn($a, $b) => ($lookup[$a] ?? 3) <=> ($lookup[$b] ?? 3)); echo implode($array);
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
tajhyayjAHLJGYB6758889~&*(*^)&[>],$<;:%^

preferences:
62.73 ms | 406 KiB | 5 Q