是什么决定了PHP的FilesystemIterator的顺序,我可以更改吗?

时间:2014-06-05 08:02:15

标签: php file loops iteration

使用PHP迭代我执行​​的目录中的文件

$it = new FilesystemIterator('/path/of/files/to/iterate/over');
foreach ($it as $fileinfo) {
  echo $fileinfo->getFilename();
}

但是文件处理的顺序是什么?我做了一些测试,但我似乎无法理解PHP使用的顺序。每次都是相同的顺序,至少,但它不是按字母顺序,mtime,ctime或atime。我通过创建一些具有不同名称的空文件来尝试这一点,它们既没有按时间顺序创建,也没有按字母顺序排序。

FilesystemIterator使用什么顺序?为什么?我可以更改订单吗?

1 个答案:

答案 0 :(得分:3)

正如DirectoryIterator sort所述,迭代器会迭代。您需要构建一个数组并对其进行排序。

迭代器是用于遍历容器上元素的设计模式。更多信息:Iterator pattern