如何在 PHP 中结合 Twitter 和 Facebook 帖子并按时间排序?

问题描述 投票:0回答:2

如何合并来自 Facebook 和 Twitter 的两种不同数据。并在PHP中按created_time对它们进行排序??

据说我已经从各自的 API 调用中获取了这两个数据。但我似乎不知道如何将它们组合并正确排序。

示例:

FB[1] TW[1]
FB[2] TW[2]
FB[3] TW[3]

如果FB[1]的created_time比TW[1]早得多,则FB[1]领先于TW[1]。 如果FB[2]的created_time晚于TW[2],则FB[2]晚于TW[1]。 如果 FB[3] 的created_time 与 TW[3] 相同,则帖子将先来自 FB,然后来自 TW。

我的脑海中浮现出这个伪代码,我只是不知道如何对其进行排序。

我的项目需要这个。请帮忙。

编辑:我正在使用 CodeIgniter..:)

php arrays sorting array-merge
2个回答
2
投票

我不知道你从fb和tw检索哪种数据,但如果两者都是数字索引,并且下一个维度具有created_time字段,则应该是这样的:

function cbSort($a, $b) {
   return $a['created_time]>$b['created_time'];
}

$res=array_merge($fb, $tw);
usort($res, 'cbSort');    
var_dump($res);

无论如何,在您想要完成的事情中,最好的选择是将帖子标准化为通用自定义类。


1
投票

合并数组 - 然后排序?

 function cmp($a, $b) {
    return $a["created_time"] > $b["created_time"];
 }


 $combined = array_merge ($FB, $TW);
 usort($combined , "cmp");
© www.soinside.com 2019 - 2024. All rights reserved.