3v4l.org

run code in 300+ PHP versions simultaneously
<?php $data = array( array('id' => 1, 'name' => 'John Snow', 'score' => 80), array('id' => 2, 'name' => 'John Fire', 'score' => 50), array('id' => 3, 'name' => 'John Water', 'score' => 79), array('id' => 4, 'name' => 'John Leaf', 'score' => 80), ); $score = array(); foreach ($data as $idx => $dataInd) { $score[$dataInd['score']] = $dataInd['score']; } rsort($score); foreach ($data as $idx => $dataInd) { $data[$idx]['rank'] = array_search($dataInd['score'], $score) + 1; } var_dump($data);
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.7 - 5.6.28, 7.0.0 - 7.0.20, 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.18, 8.3.0 - 8.3.7
array(4) { [0]=> array(4) { ["id"]=> int(1) ["name"]=> string(9) "John Snow" ["score"]=> int(80) ["rank"]=> int(1) } [1]=> array(4) { ["id"]=> int(2) ["name"]=> string(9) "John Fire" ["score"]=> int(50) ["rank"]=> int(3) } [2]=> array(4) { ["id"]=> int(3) ["name"]=> string(10) "John Water" ["score"]=> int(79) ["rank"]=> int(2) } [3]=> array(4) { ["id"]=> int(4) ["name"]=> string(9) "John Leaf" ["score"]=> int(80) ["rank"]=> int(1) } }

preferences:
211.83 ms | 407 KiB | 360 Q