Ordenar diretórios sem ignorar underlines...
Olá pessoal, estou listando os diretórios:
$dirs = glob("*", GLOB_ONLYDIR);
Até aqui, tudo certo. Depois eu ordeno os infelizes:
asort($dirs, SORT_LOCALE_STRING);
Porém está acontecendo o seguinte, tenho diretórios que começam com underline, mas o asort os ignora!
Por exemplo, imaginem a seguinte estrutura:
Array
(
[0] => dirs/agua
[1] => dirs/água
[2] => dirs/Água 2
[3] => dirs/Águia
[4] => dirs/_algo mais
[5] => dirs/algo mais
)Preciso que fique assim:
Array
(
[0] => dirs/_algo mais
[1] => dirs/agua
[2] => dirs/água
[3] => dirs/Água 2
[4] => dirs/Águia
[5] => dirs/algo mais
)Eu tenho muitos mais diretórios do que esses, a ordenação incluindo caracteres acentuados está funcionando perfeitamente, graças ao SORT_LOCALE_STRING no asort e também à inclusão de setlocale(LC_ALL, "pt_BR.utf8"); (lembrando que estou trabalhando tudo com UTF-8 já...
Alguém tem alguma ideia de como conseguir isso?
Ahh! Só lembrando que atualmente, mesmo após a ordenação, o que está acontecendo é que o underline é ignorado, então a ordenação final acaba ficando do mesmo jeito como listado no primeiro exemplo de estrutura de diretórios, com o _algo mais na 5ª posição (índice 4 do array)...
:joia:
Discussão (2)
Carregando comentários...