PHP Scandir不按字母顺序自动?

时间:2013-05-18 18:15:56

标签: php sorting scandir

TIA。凭借我的补救PHP技能,我无法弄清楚为什么scandir不会按字母顺序自动排序。 (将文件夹组合在一起并按字母顺序排序并将文件组合在一起并按字母顺序排序也很好,但这并不重要。)我缺少什么?

<?php
$dir = './customers/' . $customer . "/";
$exclude = array(".","..",".htaccess");
    if (is_dir($dir)) {
        $files = scandir($dir);
        foreach($files as $key=>$dir){
            if(!in_array($dir, $exclude)){
    echo ("<a href=\"./customers/$customer/".$dir."\">".$dir."</a><br>");
        }
    }
}
?>

1 个答案:

答案 0 :(得分:1)

正如WGD所说,您必须通过以下方式使用natcasesort

$files = scandir($dir);
natcasesort($files);
foreach ($files as $file) {
    // your code
}