scandir排序顺序asc首先放大写字母

时间:2014-11-27 14:46:21

标签: php sorting scandir

所以我正在尝试对文件夹和文件列表进行排序,并按字母顺序显示问题,如果有人创建了一个以首字母开头的文件夹,该文件夹首先出现,例如,如果我有以下文件夹

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

我希望在使用scandir(scandir($directory, SCANDIR_SORT_ASCENDING))时能够看到上面列出的文件夹,而是将其列为

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

我如何能够以正确的方式对此列表进行排序,以使其不区分大小写。

2 个答案:

答案 0 :(得分:3)

这应该适合你:

natcasesort($array);

它排序是一个数组自然忽略的情况

请参阅:http://php.net/manual/en/function.natcasesort.php

答案 1 :(得分:1)

也许你应该只使用sort()函数?

示例:

$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)