Php 尝试根据日期对源中的帖子进行排序,而不是显示每个博客的结果

Php 尝试根据日期对源中的帖子进行排序,而不是显示每个博客的结果,php,dom,rss,element,Php,Dom,Rss,Element,下面是我构建的完整脚本的一部分,该脚本从博客的rss获取描述、图像和标题。我要做的是对我想包含在页面中的每个RSS使用此代码,结果如下所示 第一个博客(显示25个结果)及以下 2st博客(显示另外25个结果) 等等 我的目标是根据日期而不是每个博客对结果进行排序。可以说,所有这些帖子都有时间戳,比如2011年6月8日星期三14:12:00+0000 这是我的代码,它正确地显示了文章的标题。 <?php $myrss = new DOMDocument; libxml_use_interna

下面是我构建的完整脚本的一部分,该脚本从博客的rss获取描述、图像和标题。我要做的是对我想包含在页面中的每个RSS使用此代码,结果如下所示

第一个博客(显示25个结果)及以下

2st博客(显示另外25个结果)

等等

我的目标是根据日期而不是每个博客对结果进行排序。可以说,所有这些帖子都有时间戳,比如2011年6月8日星期三14:12:00+0000

这是我的代码,它正确地显示了文章的标题。

<?php
$myrss = new DOMDocument;
libxml_use_internal_errors(TRUE);
$myrss->load ('LINK TO RSS'' . $i; } ?>
load('LINK TO RSS'.$i;}?>
这是RSS的结构

<item><guid isPermaLink="false"></guid><pubDate></pubDate><atom:updated></atom:updated><title></title><description></description><link></link><author></author></item>

大致上,我会这样做

$arr_rss_feeds = array( 'link1', 'link2', 'link3', ... );
$arr_posts = array();

foreach( $arr_rss_feeds as $rss_feed )
{
    //## Connect to RSS feed, get posts (not shown)
    $arr_posts[ strtotime( 'post date field here' ) ] = array( 
                'title'   => 'Title here'
            ,   'url'     => 'URL here'
    );
}

//## Sort the posts by timestamp (reverse, so newest first)
krsort( $arr_posts );

foreach( $arr_posts as $post )
{
    //## Output your list using the 'title' and 'url' from above.
}

基本上,您将所有提要中的所有帖子放入一个数组,其中包含一个Unix时间戳键,根据该时间戳对数组进行排序,然后按顺序输出。

Hi Uftimy,我在这里了解了您的逻辑,但请解释我应该在这里的帖子日期字段、标题等上添加什么。我已经更新了我的问题具有RSS的结构。