- var_dump: documentation ( source)
- sscanf: documentation ( source)
- usort: documentation ( source)
<?php
$data = [
'A1',
'A2',
'A5',
'A10',
'B2',
'B4',
'C10',
'B5',
'C1',
'B1',
'C2',
];
usort(
$data,
function($a, $b) {
sscanf($a, '%[A-Z]%d', $ac, $ar);
sscanf($b, '%[A-Z]%d', $bc, $br);
return ($ar == $br) ? $ac <=> $bc : $ar <=> $br;
}
);
var_dump($data);