我有一个应用程序,在最后一个帖子发布3小时后将预定的帖子发布到页面。
问题在于,似乎没有一种快速的方法(我已经发现)可以按降序检索所有预定的帖子,因此最新日期的帖子在列表中排在第一位< / p>
是否存在fql查询或其他方式,我可以以相反的顺序返回所有预定的帖子,以便我可以轻松地从第一个数组键中获取scheduled_publish_time?
我使用的代码是
$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数组的顺序并不总是按时间顺序排列,如果时间表中有超过500个帖子怎么办?我希望能够只检索最后5个已安排最远的scheduled_publish_date的帖子