PHP Scandir不自动按字母顺序排列?
蒂亚。凭借我的PHP补救技能,我无法理解为什么scandir不会自动按字母顺序排序。(将文件夹分组并按字母顺序排序也很好,文件分组并按字母顺序排序也很好,但这并不重要。)我缺少什么PHP Scandir不自动按字母顺序排列?,php,sorting,scandir,Php,Sorting,Scandir,蒂亚。凭借我的PHP补救技能,我无法理解为什么scandir不会自动按字母顺序排序。(将文件夹分组并按字母顺序排序也很好,文件分组并按字母顺序排序也很好,但这并不重要。)我缺少什么 <?php $dir = './customers/' . $customer . "/"; $exclude = array(".","..",".htaccess"); if (is_dir($dir)) { $files = scandir($dir); forea
<?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>");
}
}
}
?>
正如WGD所说,您必须通过以下方式使用:
$files = scandir($dir);
natcasesort($files);
foreach ($files as $file) {
// your code
}
修订:当所有文件名的第一个字母都是小写时(或者,我假设,当所有文件名的第一个字母都是大写时),目录的字母顺序正确。是否有办法将它们按字母顺序排列,以便文件名的第一个字母可以不区分大小写?使用natcasesort解决:希望这对某人有所帮助。如果你有答案,你应该将其作为答案(而不是评论)发布,并将其标记为已接受。