Я пытаюсь отсортировать группы из трех символов, таких как LMH, MMH, HHL и т. Д., Все из которых содержат только символы L, M и H, но мне нужно, чтобы они были отсортированы в порядке LMH. Это то, что я имею, но не знаю, как их сравнить. Массив $ val не работает при наличии повторяющихся символов. Это строка, которая разбивается на массив функцией.
function sortit($str) {
$val = ['L' => 0, 'M' => 1, 'H' => 2];
$parts = str_split($str);
foreach ($parts as $value) {
$order[$val[$value]] = $value;
}
ksort($order);
return implode('',$parts);
}
Введите:
MLH
HLL
MHM
LHM
MLH
LHM
MHL
Желаемый вывод:
LMH
LLH
MMH
LMH
LMH
LMH
LMH