在php中的array_filter之后无法排序

时间:2015-07-01 10:14:57

标签: php arrays sorting directory glob

我想获得所有文件夹的名称。我正在使用以下代码。在主文件夹中还有一些其他文件。我想按“ASC”顺序对文件夹名称进行排序。

我无法通过以下功能来实现,

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

优先考虑CAPS快报

我收到了,首先安排以CAPS开头的文件夹名称。在那之后......

帮助我,谢谢......

1 个答案:

答案 0 :(得分:3)

  

注意:它优先考虑CAPS快报

如果这意味着你想要区分大小写,那么你需要设置适当的标志:

sort($dirs, SORT_FLAG_CASE);

或使用其他排序功能:

natcasesort($dirs);

或者使用不区分大小写的函数进行手动比较:

usort($dirs, 'strcasecmp');

请参阅comparison of array sorting functions及其相关的个人手册页。