PHP从最高到最低排序JSON

gil*_*501 0 php sorting json

我有以下json:

     {
    "ID":"4",
    "name":"Gil",
    "likes":0,
    "Dec":"A Man"
    },
    {
   "ID":"3",
    "name":"Yoni",
    "likes":3,
    "Dec":"A child"
    },
    {
    "ID":"6",
    "name":"Roni",
    "likes":1,
    "Dec":"A woman"
    }
Run Code Online (Sandbox Code Playgroud)

我想基于从最高到最低的喜欢重新排列它,结果将是:

{
        "ID":"5",
        "name":"Roni",
        "likes":6,
        "Dec":"A woman"
        } ,  
   {
       "ID":"3",
        "name":"Yoni",
        "likes":3,
        "Dec":"A child"
        },

 {
        "ID":"4",
        "name":"Gil",
        "likes":0,
        "Dec":"A Man"
        }
Run Code Online (Sandbox Code Playgroud)

我怎样才能在php中重新排列它?

Ste*_*eve 5

json_decode/ json_encodeusort:

$array = json_decode($json_string, TRUE);

usort($array, function($a, $b) {
    return $a['likes'] - $b['likes'];
});

echo json_encode($array, JSON_PRETTY_PRINT);
Run Code Online (Sandbox Code Playgroud)

演示