对 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 并将适当的排序函数作为参数,就可以了。
我有一个 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 并将适当的排序函数作为参数,就可以了。