3v4l.org

run code in 300+ PHP versions simultaneously
<?php $data = '[ { "name": "Sally", "nick_name": "sal", "availability": "0", "is_fav": "0" }, { "name": "David", "nick_name": "dav07", "availability": "0", "is_fav": "1" }, { "name": "Zen", "nick_name": "zen", "availability": "1", "is_fav": "0" }, { "name": "Jackson", "nick_name": "jack", "availability": "1", "is_fav": "1" }, { "name": "Rohit", "nick_name": "rod", "availability": "0", "is_fav": "0" } ]'; $arr = json_decode($data, true); // Obtain a list of columns foreach ($arr as $key => $row) { $isFav[$key] = $row['is_fav']; $avail[$key] = $row['availability']; $names[$key] = $row['nick_name']; } // Sort the data with isFav descending, avail descending // Add $arr as the last parameter, to sort by the common key array_multisort($isFav, SORT_DESC, $avail, SORT_DESC, $names, SORT_DESC, $arr); echo "<pre>"; print_r($arr);
Output for 5.5.0 - 5.5.38, 5.6.0 - 5.6.38, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
<pre>Array ( [0] => Array ( [name] => Jackson [nick_name] => jack [availability] => 1 [is_fav] => 1 ) [1] => Array ( [name] => David [nick_name] => dav07 [availability] => 0 [is_fav] => 1 ) [2] => Array ( [name] => Zen [nick_name] => zen [availability] => 1 [is_fav] => 0 ) [3] => Array ( [name] => Sally [nick_name] => sal [availability] => 0 [is_fav] => 0 ) [4] => Array ( [name] => Rohit [nick_name] => rod [availability] => 0 [is_fav] => 0 ) )

preferences:
310.95 ms | 406 KiB | 324 Q