порядок сортировки scnadir asc сначала ставит заглавные буквы

Поэтому я пытаюсь отсортировать список папок и файлов и отобразить их в алфавитном порядке. Появляется проблема: если кто-то создал папку, начинающуюся с заглавной буквы, эта папка появится первой, например, если у меня были следующие папки

Array
(
[0] => .
[1] => ..
[2] => _base
[3] => template
[4] => Website
)

Я бы ожидал при использовании scandir (scandir($directory, SCANDIR_SORT_ASCENDING)) чтобы увидеть папки, перечисленные выше, но вместо этого они перечислены как

Array
(
[0] => .
[1] => ..
[2] => Website
[3] => _base
[4] => template
)

Как бы я мог получить этот список отсортирован правильно, чтобы он не был чувствительным к регистру.

-1

Решение

Это должно работать для вас:

natcasesort($array);

Это своего рода массив естественного игнорирования

Увидеть: http://php.net/manual/en/function.natcasesort.php

3

Другие решения

Может быть, вы должны просто использовать Сортировать() функционировать?

Пример:

$x = array('.', '..', '22331', 'djsnaso', 'Aijndod', 'Wwwwww');

sort($x);

var_dump($x);

Возвращаемое значение:

array (size=6)
0 => string '.' (length=1)
1 => string '..' (length=2)
2 => string '22331' (length=5)
3 => string 'Aijndod' (length=7)
4 => string 'Wwwwww' (length=6)
5 => string 'djsnaso' (length=7)
1

По вопросам рекламы [email protected]