【发布时间】:2019-10-21 04:11:40
【问题描述】:
我在某个目录中有一堆文件。这些文件是带有变量定义的 PHP 文件。在这些文件中有一个自定义的“日期”变量。这些日期与 PHP 文件的创建时间不匹配,而是与其他任意日期匹配。我不确定如何根据这些变量对 glob 进行排序。
到目前为止,我无法创建成功的比较函数或使用 ksort 或类似函数根据其中的变量对 glob 进行排序。
glob 找到的标准项的内容将如下所示:
<?php
$title = 'Example Title';
$info = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.';
$time = mktime(22,19,46,10,14,2019); //THIS IS WHAT I WOULD LIKE TO SORT BY
$datestring = date("d F, Y H:i",$time);
?>
我假设我应该能够从 glob 的每个元素中对给定的变量进行排序(例如 glob 中每个文件的“时间”变量),但我一直无法找到允许这样做的排序函数。我发现的任何排序都对数组中的键进行了排序,但这些文件本身不是数组,因此它们不兼容。
【问题讨论】:
-
当您实际上必须阅读文件并提取复杂的表达式时,文件名列表对您没有好处。在这一点上,也许是时候意识到数据库是有意义的了。
-
我已经能够从 foreach 循环中其他地方的文件中提取信息(例如
$files = glob("*.php"); foreach($files as $item){echo $item.$time;}),但不能根据这些变量对该列表中的文件进行排序。我是 PHP 新手,所以我不知道我的文件和“数据库”的区别。 -
附录:我的 foreach 循环有
include_once($item),我只需输入变量名即可从中引用变量(例如$time而不是$item.$time)。这可能是我应该在排序中关注的内容?