在php中排序json数据

时间:2015-08-10 16:05:11

标签: php json sorting associative-array

我有一个json文件看起来像这样..

{
   "movies":[
      {
         "title":"Movie 1",
         "year":"2014",
         "categories":"Action,Sci-Fi",
         "rate":"10",
         "tags":"720p,1080p,Direct",
         "image_link":"img/1.jpg",
         "imdb_link":"http://www.imdb.com"
      },
      .
      .
      .

我需要使用一些选项对数据进行排序,例如年份,费率,按字母顺序升序和降序。

以下是获取数据的代码

$jsondata = file_get_contents('data/movies.json');
$movies = json_decode($jsondata, true);

1 个答案:

答案 0 :(得分:3)

如果我可以从this回答中提取

function sortByOrder($a, $b) {
    return $a['order'] - $b['order'];
}

usort($myArray, 'sortByOrder');

在您的情况下,只需要修改为具有不同功能的不同功能,例如:

function sortByRate($a, $b) {
    return $a['rate'] - $b['rate'];
}

等等,你得到了要点。

之后,您只需要使用相应的排序函数作为参数调用usort,然后再进行操作。