Может ли кто-нибудь сказать мне, как сортировать массив, содержащий имена файлов, которые начинаются с цифр? Поскольку строки, начинающиеся с 11, 12, 13 и т. Д., Считаются ниже 2, это приводит к следующим результатам:
[0] "1. Файл one.pdf" [1] "11. Файл eleven.pdf" [2] "12. Файл twelve.pdf" [3] "2. Файл two.pdf" [4] "3. Файл three.pdf"
Я могу что-то сделать, чтобы отсортировать их правильно?
Вы можете использовать natsort . или natcasesort , который нечувствителен к регистру. Если числа больше (например, диакритики), вы должны убедиться, что используете правильный язык .
Если этого недостаточно, т.е. вам нужны также литералы сортировки чисел («один», «два», «три»), вы можете использовать usort , что позволяет использовать ваш пользовательский обратный вызов в качестве функции сравнения.
Использование может получить естественный порядок, используя natsort
Видеть это.