Что бы сравнить строки " 1 строка", "2 строка", "11 строка" что бы учитывалось число спереди, а не первая цифра. А если числа нет то что бы по алфавиту сортировало.
Такой результат нужен:
1 строка
2 строка
11 строка
Я вот так делаю, но это только по первой цифре или букве.
usort($subcats, function ($a, $b) {
return strcmp(mb_substr($a->name, 0, 1), mb_substr($b->name, 0, 1));
});
Может пропустить через пару каких то функций? Понятно что я конечно могу вручную это сделать, выделить два первых символа проанализировать число или нет и тд. Просто вариантов может быть много, может уже есть какие то решения универсальные, сначала отсортировать как то по буквам, а потом по числам.