对 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);

如果我可以借鉴this答案

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

usort($myArray, 'sortByOrder');

对于您的情况,只需修改为具有按不同事物排序的不同函数,如下所示:

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

诸如此类,您明白了要点。

之后,您只需调用 usort 并将适当的排序函数作为参数,就可以了。