从客户端基于php中的UTC时间戳对JSON数据进行排序

时间:2014-06-26 05:31:04

标签: php arrays json sorting usort

我有一些带有一些数据的JSON。其中一个字段是时间戳。有没有办法根据时间戳对数据进行排序?请不要向我推荐任何像DataTables这样的jQuery插件。而且我也不想按排序顺序从数据库中获取数据。我使用以下SQL命令。

select * from tablename;

我不想通过使用类似这样的命令从数据库中获取排序形式的数据。

select * from tablename ORDER BY.....

是否可以像使用PHP所说的那样对JSON数据进行排序?我希望数据根据时间戳按降序排序。任何建议???

以下是示例数据

http://codepad.viper-7.com/TyLOWV

我试过了......

function sortByYear($a, $b) {
    $dA = new DateTime($a['date']);
    $dB = new DateTime($b['date']);

    return $dA->format('y') - $dB->format('y');
}


$d = json_decode($sample_data, true);
$info = $d['date'];

usort($info, 'sortByYear');

print_r($info);

1 个答案:

答案 0 :(得分:1)

尝试使用PHP中的array_multisort函数

$date = array();
$d = json_decode($sample_data, true);
foreach ($d as $key => $row)
{
    $date[$key] = $row['date'];
}
array_multisort($date, SORT_DESC, $d);