从最高到最低排名时处理平局

2024-02-03

我正在尝试为一个小项目制作一个排名管理器。总计存储在数据库中。我可以使用mysql轻松获取最大值和最小值,并按降序排列记录。当出现平局时就会出现问题。我需要以以下形式显示平局:1,2,3,3,4,5,6,7,7,7,7等。重复的数字将显示平局。我一直在想实现上述目标的方法但我需要更多的想法;我的想法似乎又长又复杂。

任何人都可以分享他/她做领带的想法吗?


$data = array(
  'A'=>19,'B'=>18,'C'=>17,'D'=>17,'E'=>16,'F'=>15
);

$rank = 0;
$lastScore = PHP_INT_MAX;
foreach( $data as $name=>$score ) {
  if ( $lastScore !== $score ) {
    $lastScore = $score;
    $rank += 1;
  }
  printf("%s %d (%d)\n", $name, $score, $rank);
}

prints

A 19 (1)
B 18 (2)
C 17 (3)
D 17 (3)
E 16 (4)
F 15 (5)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从最高到最低排名时处理平局 的相关文章

随机推荐