natcasesort不会改变从标准到自然的排序

时间:2017-05-01 09:16:33

标签: php sorting

我一直在使用此代码列出网页目录中的文件。它的效果很好,只是列表出现在标准排序中,我更喜欢它按自然顺序排列。 因此,我将'natsort'行更改为'natcasesort',希望能够修复它,但它没有任何区别。还有什么需要改变吗? 我注意到生成的html源列出了长行中的所有文件而不是每行的一行 - 是问题的一部分,如果是这样,如何修复? 服务器运行php7

<?php
function getFiles(){
    $files=array();
    if($dir=opendir('.')){
        while($file=readdir($dir)){
            if($file!='.' && $file!='..' && $file!=basename(__FILE__)){
                $files[]=$file;
            }   
        }
        closedir($dir);
    }
    natsort($files); //sort
    return $files;
}
?>

<html>
<head>
</head>
<body>

<h1> List of files </h1>

<ul class="dir">
    <? foreach(getFiles() as $file)
        echo "<li name='$file'><a href='$file'>$file</a></li>";
    ?>
</ul>

</body>
</html>

感谢您的帮助。

0 个答案:

没有答案