php中排序数组中的错误
我需要一个排名系统,这就是我所拥有的php中排序数组中的错误,php,arrays,rank,Php,Arrays,Rank,我需要一个排名系统,这就是我所拥有的 <?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>'; } ?> 问题是,当我有两个具有相同值的条目时,它跳过了下一个
<?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”排名2次。但后来它跳到了第四名
我需要这样
10 is ranking 2
11 is ranking 1
4 is ranking 3
2 is ranking 5
10 is ranking 2
3 is ranking 4
请帮帮我。谢谢。没错
因为您多次使用10
,rsort
将多次映射它。如果您想按自己的方式进行,则原始输入不能具有相同输入的多次 有了它,您可以解决这个问题,因此您将始终拥有唯一的输入 比如说
$arr=array(10,11,4,2,10,3);
$rank = array_unique($arr); //This line have I changed
rsort($rank);
foreach($arr as $sort) {
echo $sort.' is ranking '.(array_search($sort, $rank) + 1).'<br>';
}
$arr=数组(10,11,4,2,10,3);
$rank=数组\唯一($arr)//这条线我换了吗
rsort(等级);
foreach($arr作为$sort){
echo$sort.“正在排名”。(数组搜索($sort$rank)+1)。”
;
}
你救了我。。我真的需要更多地了解数组。非常感谢您,或者如果您想包括重复的号码,您可以这样做@iwaduarte,我明白了。非常感谢。
$arr=array(10,11,4,2,10,3);
$rank = array_unique($arr); //This line have I changed
rsort($rank);
foreach($arr as $sort) {
echo $sort.' is ranking '.(array_search($sort, $rank) + 1).'<br>';
}
<?php
$arr=array(10,11,4,2,10,3);
$rank = $arr;
rsort($rank);
foreach($arr as $sort) {
if($sort <= 4){
echo $sort.' is ranking '.(array_search($sort, $rank)).'<br>';
}else{
echo $sort.' is ranking '.(array_search($sort, $rank) + 1).'<br>';
}
}
?>