[php]PHP 像excel rank排名次

參考網址:德琦雜記

輸出結過如下:
分數: 3 名次: 5
分數: 2 名次: 7
分數: 1 名次: 10
分數: 2 名次: 7
分數: 2 名次: 7
分數: 6 名次: 3
分數: 8 名次: 2
分數: 6 名次: 3
分數: 20 名次: 1
分數: 1 名次: 10
分數: 3 名次: 5

$values = array(3,2,1,2,2,6,8,6,20,1,3);
$ordered_values = $values;
rsort($ordered_values);
$i=0;
foreach ($values as $key => $value)  {
  foreach ($ordered_values as $ordered_key => $ordered_value)  {
    if ($value === $ordered_value) {
        $key = $ordered_key;
        break;
    }
  }
  //echo '分數: '.$value . ' 名次: ' . ((int) $key + 1) . '<br/>';
  $rp[$i] = $key+1;
  $i++;
}
print_r($rp);

 

本篇發表於 程式設計。將永久鏈結加入書籤。