在php中排序json数据


Sort json data in php

我有一个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);

如果我可以从这个答案中得出

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

,在你的情况下,只需要修改它,使其具有不同的函数,按不同的东西排序,像这样:

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

等等,你得到了要点。

之后,您只需要调用ussort,并将适当的排序函数作为参数,然后执行