PHP/JSON:在一个数组中对两种不同的时间戳格式进行排序

PHP/JSON:在一个数组中对两种不同的时间戳格式进行排序,php,json,facebook,datetime,sorting,Php,Json,Facebook,Datetime,Sorting,我从Facebook和Twitter流的JSON输出中得到了一个合并数组,我想将这两个数组归为一个,但它们提供了两个不同的时间戳: Facebook:[创建时间]=>1299839651 推特:[创建时间]=>2011年3月7日星期一16:33:49+0000 目前,输出包含两个平台的完整JSON内容,从Array([data]=>Array([0]=>Array([id]=>(Facebook)开始,到[id\u str]=>12345678964508161)结束)。 中间部分看起来是这样的

我从Facebook和Twitter流的JSON输出中得到了一个合并数组,我想将这两个数组归为一个,但它们提供了两个不同的时间戳:

Facebook:
[创建时间]=>1299839651
推特:
[创建时间]=>2011年3月7日星期一16:33:49+0000

目前,输出包含两个平台的完整JSON内容,从
Array([data]=>Array([0]=>Array([id]=>
(Facebook)开始,到
[id\u str]=>12345678964508161)结束)。
中间部分看起来是这样的:<代码>和限制= 25和直到0)[0 ] = >数组([TeX]=< /Cord>(脸谱网推特)。

我不知道如何处理这个问题。谢谢你的帮助。

假设我正确理解了你的问题,这应该可以

<?php

// assume $array is your array of associative arrays with created_time 
// being facebook timestamps, created_at being twitter


// takes as arguments two associative arrays with
// created_time keys to compare
function sort_by_created_time($arr1, $arr2)
{
    if ($arr1['created_time'] == $arr2['created_time'])
    {
        return 0;
    }
    elseif ($arr1['created_time'] > $arr2['created_time'])
    {
        return 1;
    }
    else
    {
        return -1;
    }
}

// go through each array, generate timestamps if needed
foreach ($array as &$row)
{
    if (!isset($row['created_time']))
    {
        // convert date formats to timestamps if we need to
        $row['created_time'] = strtotime($row['created_at']);
    }
}
unset($row);

usort($array, "sort_by_created_time");

您可以使用
strotime()
将Twitter时间戳转换为更像Facebook时间戳的时间戳

然后,您只需根据数字时间戳对它们进行排序