2015-07-01 2 views
0

Я хочу получить имя всех папок. Для этого я использую следующие коды. В основной папке также есть и другие файлы. Я хочу отсортировать имя папки в порядке «ASC».Невозможно сортировать после array_filter в php

Я не могу сделать с помощью следующих функций,

<?php 
    $dirs = array_filter(glob('*'), 'is_dir'); 
    sort($dirs); //used asort() and array_multisort() 
    print_r($dirs); 
?> 

Это дает приоритет CAPS Letters

Я получаю, Аранжировка первый, какой имя папки, начиная с CAPS. После этого другие ...

Помогите мне, спасибо ...

+1

Итак, что вы получаете и чего вы ожидаете? – deceze

+0

* Примечание: Это приоритет CAPS Письма * -> [Понять ASCII] (http://www.asciitable.com/) – Rizier123

ответ

4

Примечание: Это дает приоритет CAPS Letters

Если это означает, что вы хотите отсортировать регистронезависимо, то вам необходимо установить соответствующий флаг:

sort($dirs, SORT_FLAG_CASE); 

Или использовать другую функцию сортировки:

natcasesort($dirs); 

Или используйте ручное сравнение с функцией учета регистра:

usort($dirs, 'strcasecmp'); 

См comparison of array sorting functions и их соответствующие отдельных страниц руководства.

+0

1-й не работает. Другие 2 качают ... Спасибо – KarSho