3v4l.org

run code in 300+ PHP versions simultaneously
<?php // Raw data $json = <<<'JSON' { "player1": { "money": 1000, "kills": 6 }, "player2": { "money": 3000, "kills": 12 }, "player3": { "money": 2000, "kills": 2 } } JSON; // Prepare $sortBy = 'money'; $order = 'desc'; $dataset = json_decode($json, true); // Sorting uasort($dataset, fn (array $playerA, array $playerB): int => ($playerA['money'] > $playerB['money'] ? -1 : 1) * ['desc' => 1, 'asc' => -1][$order] ?? -1); // Print results var_dump($dataset); $i = 1; foreach($dataset as $player => $data) { echo "#$i: $player (\${$data['money']})" . PHP_EOL; $i ++; }
Output for 8.1.0 - 8.1.28, 8.2.10 - 8.2.18, 8.3.0 - 8.3.6
array(3) { ["player2"]=> array(2) { ["money"]=> int(3000) ["kills"]=> int(12) } ["player3"]=> array(2) { ["money"]=> int(2000) ["kills"]=> int(2) } ["player1"]=> array(2) { ["money"]=> int(1000) ["kills"]=> int(6) } } #1: player2 ($3000) #2: player3 ($2000) #3: player1 ($1000)

preferences:
74.06 ms | 402 KiB | 28 Q