使用FacebookPHPSDK以相反的顺序检索预定帖子

使用FacebookPHPSDK以相反的顺序检索预定帖子,php,facebook,sdk,Php,Facebook,Sdk,我有一个应用程序,它可以在最后一篇文章发布3小时后将一篇预定的文章发布到页面上 问题是,似乎没有一种快速的方法(我已经发现)可以按降序检索所有预定的帖子,因此最新日期的帖子在列表中位于第一位 是否有fql查询或其他方法可以按相反顺序返回所有计划的帖子,以便从第一个数组键轻松获取计划的发布时间 我使用的代码是 $posts = $facebook->api($fanpage.'/promotable_posts?limit=500'); $scheduledposts = array();

我有一个应用程序,它可以在最后一篇文章发布3小时后将一篇预定的文章发布到页面上

问题是,似乎没有一种快速的方法(我已经发现)可以按降序检索所有预定的帖子,因此最新日期的帖子在列表中位于第一位

是否有fql查询或其他方法可以按相反顺序返回所有计划的帖子,以便从第一个数组键轻松获取计划的发布时间

我使用的代码是

$posts = $facebook->api($fanpage.'/promotable_posts?limit=500');
$scheduledposts = array();
if($posts){
// find last published post
$time = time();
foreach($posts['data'] as $post){
    if($post['is_published'] == false){
        $scheduledposts[] = $post;
        if($time < $post['scheduled_publish_time']){
            $time = $post['scheduled_publish_time'];  
        }
    }
}
$timetopost = $time + 10800;                                        
}
// sort scheduled posts by order of scheduled_publish_time in reverse
usort($scheduledposts, function($a, $b) {
 return $b['scheduled_publish_time'] - $a['scheduled_publish_time'];
});
$posts=$facebook->api($fanpage./promotable_posts?limit=500');
$scheduledposts=array();
如果有的话(员额){
//查找上次发布的帖子
$time=time();
foreach($posts['data']作为$post){
如果($post['is_published']==false){
$scheduledposts[]=$post;
如果($time<$post['scheduled\u publish\u time'])){
$time=$post['scheduled_publish_time'];
}
}
}
$timetopost=$time+10800;
}
//按计划发布时间的顺序对计划发布进行反向排序
usort($scheduledposts,function($a,$b){
返回$b['scheduled_publish_time']-$a['scheduled_publish_time'];
});

$posts数组的顺序并不总是按时间顺序排列的,如果日程表中的posts超过500则会怎样?我希望能够检索最近5篇计划发布的文章,这些文章的计划发布日期在您的循环中最远

,您可以每次只将下一个元素附加到数组的开头,而不是将其添加到末尾…
array\u unshift
谢谢,但如果计划了500篇文章,我不想检索500篇文章。我只想检索最后5篇帖子。我能够向url添加一个查询参数,它能够使用
$posts=$facebook->api($c['active']['id']./promotable_posts?limit=5&is_published=0')返回最后5篇未发布的帖子