PHP按文件名排序数组

fig*_*r20 1 php arrays sorting

下面的代码扫描当前文件夹中的word文档,然后吐出一个它找到的所有数组....

<?php
    $a=array();
    if ($handle = opendir('.')) {
    while (false !== ($file = readdir($handle))) {
    if(preg_match("/\.doc$/", $file)) 
    $a[]=$file;
    }

    closedir($handle);

    }
    foreach($a as $i){
    echo $i;
    }
?>
Run Code Online (Sandbox Code Playgroud)

这一切都很好但订单不是我想要的.有没有办法按文件名对结果进行排序?我查看了sort函数,但无法弄清楚如何在我的情况下实现它.

kon*_*ddy 6

您可以使用glob()哪个将自动为您排序:

$files = glob('*.doc');
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅glob on()上的PHP.

如果订单不是预期的顺序,则传递参数GLOB_NOSORT以按照它们在目录中出现的顺序返回文件.