<?php
$unsorted = [
"3470U11",
"3470E11",
"3470S13",
"3470G11",
"3470S12",
"3470S11",
"3470E12",
"3470U12",
"3470G13",
"3470G12",
"3470E13",
"3470U13"
];
$sortBy = ['G', 'D', 'S', 'U', 'E', 'T', 'A', 'L'];
$priority = array_flip($sortBy);
usort(
$unsorted,
fn($a, $b) =>
($priority[substr($a, -3, 1)] <=> $priority[substr($b, -3, 1)])
?: $a <=> $b
);
var_export ($unsorted);
- Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- array (
0 => '3470G11',
1 => '3470G12',
2 => '3470G13',
3 => '3470S11',
4 => '3470S12',
5 => '3470S13',
6 => '3470U11',
7 => '3470U12',
8 => '3470U13',
9 => '3470E11',
10 => '3470E12',
11 => '3470E13',
)
preferences:
137.05 ms | 402 KiB | 121 Q