php包含一次反向字母


php include_once reverse alphabaticly?

我目前正在使用这段代码,通过为每篇文章添加一个新的html文件,将新闻源加载到我的网页中。我如何才能按反字母顺序包含文件,所以2013-02-07比2013-02-08早?

<?php 
   foreach (glob("news/*.html") as $filename)
{
    include_once $filename;
}  ?>  
$files = glob('news/*.html');
rsort($files);
foreach ($files as $f) {
    include $f;
}

这实际上是一种反向字典排序(因为文件名是字符串),但幸运的是,这种排序在这种情况下有效,因为日期是从高到低的数量级。更多信息:rsort。

注意:我假设你的日期格式是YYYY-MM-DD。如果它们的格式没有前导零,则此解决方案将不起作用。您必须从每个文件名中提取日期,将其更改为某种中间类型(unix时间戳,或按字典排序的字符串),然后对其进行排序。例如,'2013-3-1' > '2013-12-1'被认为是真的,但'2013-03-01' > '2013-12-01'是假的。