<?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);
preferences:
36.1 ms | 402 KiB | 5 Q