无法在 php 中的 array_filter 之后排序

Cant sorting after array_filter in php

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

我不能通过以下功能,

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

It's giving priority to CAPS Letters

我知道了,先排哪个大写开头的文件夹名。之后其他人...

帮帮我,谢谢...

Note: It's giving priority to CAPS Letters

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

sort($dirs, SORT_FLAG_CASE);

或者使用另一个排序函数:

natcasesort($dirs);

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

usort($dirs, 'strcasecmp');

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