Мне нужна система ранжирования, и это то, что у меня есть.Ошибки в рейтинге массива в php
<?php
$arr=array(10,11,4,2,10,3);
$rank = $arr;
rsort($rank);
foreach($arr as $sort) {
echo $sort.' is ranking '.(array_search($sort, $rank) + 1).'<br>';
}
?>
В результате я получил это
10 is ranking 2
11 is ranking 1
4 is ranking 4
2 is ranking 6
10 is ranking 2
3 is ranking 5
Проблема заключается в том, когда у меня есть 2 записей с одинаковыми значениями он пропустил следующий ранг. Результат, который я получил выше, показывает, что «10 занимает 2-е место». Но затем он перешел на ранг 4.
Мне нужно, чтобы это было так.
10 is ranking 2
11 is ranking 1
4 is ranking 3
2 is ranking 5
10 is ranking 2
3 is ranking 4
Помогите мне пожалуйста. Спасибо.
или, если хотите, чтобы включить номер он был повторен вы можете сделать, как этот ' PHP $ обр = массив (10,11,4,2,10, 3); $ rank = $ arr; rsort ($ rank); foreach ($ arr as $ sort) { \t \t $ index = array_search ($ sort, $ rank); \t echo $ sort. ' ($ index + 1). '
'; \t $ rank [$ index] = 'X'; // Это указывает на вашу программу, которую вы уже сделали \t \t // сравнил эту позицию } ' – iwaduarte
@iwaduarte я вижу. Спасибо. <3 –