1
このJSON配列をimdbの値下げで最高値でソートしたい。私が試してみましたJSONを最高値でソートするPHP
[{
"name": "Space home",
"year": 2012,
"plot": "Ghost dies in fire",
"run": 103,
"run_category": "1",
"rated": "PG-13",
"imdb": 83,
"meta": 82,
"genre": "001 002 003",
"tags": "test",
"source": "movie123",
"id": 6483953
}, {
"name": "Epaaoon",
"year": 2016,
"plot": "Space dies in fire",
"run": 153,
"run_category": "2",
"rated": "R",
"imdb": 64,
"meta": 54,
"genre": "001 006 007",
"tags": "test2",
"source": "movie423",
"id": 7352753
}]
:私はここで見つけましたが、私はそれが仕事を得るカントと私は理由は分からない
usort($data, function($a, $b) { function
return $a->imdb > $b->imdb ? -1 : 1; });
。どんな助けでも大歓迎です。
EDIT:
<?php $url = $_SERVER['DOCUMENT_ROOT'] . '/../data.json';
$data = json_decode(file_get_contents($url), true);
usort($data, function($a, $b) { //Sort the array using a user defined function
return $a->meta > $b->meta ? -1 : 1; //Compare the scores
});
print_r($data);
?>
あなたのコードには欠けているものがたくさんあると思います。より完全な例を投稿できますか? – Augwa
申し訳ありません完全なPHPコードで更新されました。 –
2番目の引数 'json_decode()'に 'true'を使うので、要素はオブジェクトではなく配列です。それは '$ a-> meta'ではなく、$ a ['meta']'です。 – Barmar