Php 按键解析和排序多个Facebook json提要

Php 按键解析和排序多个Facebook json提要,php,arrays,json,facebook,sorting,Php,Arrays,Json,Facebook,Sorting,我正在尝试获取多个Facebook提要并按时间顺序显示它们 json提要中的所有对象都将具有“created_time”,因此我想使用它作为键,以按时间顺序解析和显示所有对象,而不管它们来自哪个提要 这是我的密码 $urls = array( //FEED1 'https://graph.facebook.com/GROUP_ID/posts?fields=message,full_picture,description,link,picture,source,name,type,status_

我正在尝试获取多个Facebook提要并按时间顺序显示它们

json提要中的所有对象都将具有“created_time”,因此我想使用它作为键,以按时间顺序解析和显示所有对象,而不管它们来自哪个提要

这是我的密码

$urls = array(
//FEED1
'https://graph.facebook.com/GROUP_ID/posts?fields=message,full_picture,description,link,picture,source,name,type,status_type,caption,created_time,permalink_url&limit=10&access_token=ACCESS_TOKEN',
//FEED 2
'https://graph.facebook.com/PAGE_ID/posts?fields=message,full_picture,description,link,picture,source,name,type,status_type,caption,created_time,permalink_url&limit=10&access_token=ACCESS_TOKEN',
//FEED 3
'https://graph.facebook.com/GROUP_ID/posts?fields=message,full_picture,description,link,picture,source,name,type,status_type,caption,created_time,permalink_url&limit=10&access_token=ACCESS_TOKEN');

$results = array();
然后我做了

foreach($urls as $index => $url){
$DataContent = file_get_contents($url);
$infoData = json_decode($DataContent, true);

foreach ($infoData['data'] as $Data){
    $FBPostCreatedTime = $Data['created_time'];

    /*PARSE THE DATA HERE*/
    }
}
该代码的结果逐个输出每个提要

如何使用$FBPostCreatedTime合并所有提要数据并按时间顺序显示


谢谢

您想做什么还不完全清楚,但是,我假设您想按日期或时间对数组进行排序。这就是我如何更改代码中的
foreach()
循环的方法:

$NewData = array(); // Will hold an altered array. 

foreach ($infoData['data'] as $Data) {

    $NewData[$Data['created_time']] = $Data;
}

ksort($NewData);
$NewData
将是一个关联数组,它使用
$Data
中的
创建时间
值作为每行数据的键名。在此数组上运行
ksort()
,将使用此键对数组进行排序。您还可以使用
krsort()
对数组键进行反向排序


这假设
created\u time
格式为SQL日期字符串:YYYY-MM-DD HH:MM:SS,例如:
2017-04-26 14:30:00

使用
created\u time
作为数组键可能在大多数情况下都可以,但是如果有多篇文章的
created\u time
值相同,后续文章将覆盖该键上的现有值。为了避免这种可能性,您可以将所有帖子附加到一个数组中

foreach ($infoData['data'] as $Data) {
    $allPosts[] = $Data;
}
然后在外部
foreach
循环完成后,
usort
返回结果

usort($allPosts, function($a, $b) {
    return $a['created_time'] <=> $b['created_time'];
});
usort($allPosts,function($a,$b){
返回$a['created_time']$b['created_time'];
});

将所有提要合并到一个数组中,然后对其进行排序我想从多个URL(提要)中收集数据并对这些集合数据进行排序以单一时间轴方式显示这些提要中的帖子(顶部最新,底部最旧)Facebook return Parameter创建时间为2012-12-13T04:14:29+0000。这次怎么读?这次约会是什么意思?