PHP preg_match并按文件创建日期排序


PHP preg_match and sort by file CREATION date

我希望preg_match找到给定目录中的所有文件并将它们显示在页面上。我知道该怎么做,但是我如何按创建日期对它们进行排序?我想要最新的一个在上面。这是我的代码:

function find_files() {
 $files = scandir("content");
 foreach ($files as $value) {
  if(preg_match("/file/", $value)) {
    echo "<li>$value</li>";    
  } 
 }
}

谢谢。

编辑:根据我得到的答案,我像这样修改了我的代码:

function find_files() {
 $files = scandir("content");
 usort($files, create_function('$a,$b', 'return filectime($a)<filectime($b);'));
 foreach ($files as $value) {
  if(preg_match("/file/", $value)) {
    echo "<li>$value</li>";    
  } 
 }
}

但是它仍然不起作用。浏览器无法完成加载。

PHP 支持多种对数组进行排序的方法,请在此处查看它们的工作原理。你可以把它作为 asort($files) 运行。

解决此问题的正确方法是在输出数组之前对其进行排序。大致如下:

asort($files );
foreach($files as $value) {
  if (preg_match('/file/', $value))
    array[index++] = $value;
}