如果我有多个从不同来源(如 Facebook 提要、推特提要和博客提要)提取的数据数组/对象,我将如何合并它们以便将它们显示为按日期排序的混合集?
问问题
193 次
1 回答
0
我会遍历每个数组并将各种时间格式转换为通用格式,可能是这样的 unix 时间戳
strtotime($time);
然后将其用作数组的键:
foreach ($fb_arrays as $fb_array) {
$key = strtotime($fb_array['time']);
$fb_array_by_time[$key] = $fb_array;
}
然后我会
array_merge($array_one_by_time, $array_two_by_time, $array_three_by_time);
然后我会
asort()
或rasort()
根据您要排序的方向
编辑:
为避免碰撞,您可以这样做
foreach ($events as $event) {
$key = strtotime($event['time']);
$key .= $network;
$n = 0;
while (isset($event_by_time[$key . $n])) { $n++; }
$event_by_time[$key . $n] = $event;
}
那么键应该是这样的:
123134223facebook0
123134223twitter0
123134225facebook0
123134225facebook1
排序后asort()
于 2012-07-08T05:15:27.127 回答