国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php實現excel中rank函數功能的方法

2024-09-04 11:42:54
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了php實現excel中rank函數功能的方法,較為詳細的分析了rank函數的功能及具體實現方法,需要的朋友可以參考下

本文實例講述了php實現excel中rank函數功能的方法。分享給大家供大家參考。具體分析如下:

sql語句實現排名是像這樣的如:

總分成績為 195,180,180,161,名次分別為1,2,3,4,遇到并列的情況也是按照順序的,而Excel函數rank排名得到的結果是1,2,2,4,遇到并列跳過中間的3

下面的函數模擬的就是這種情況

函數如下(不知道有沒有更好的實現方法):

公式為: 名次=總人數--比自己小的數的個數-這個分數重復次數+1(加上自己)

得到名次的數組再根據對應的id寫入到數據庫,就實現rank的計算功能

(當然這個也可以改成這樣195,180,180,165,名次是這樣的1,2,2,3)代碼如下:

  1. //獲得一組數的名次的數組 
  2. function rank(array $array){ 
  3.         foreach($array as $val){ 
  4.                 $repeat=get_array_repeats($val,$array); 
  5.                 $num=gt_array_values($val,$array); 
  6.                 $rank[]=count($array)-$num-$repeat+1; 
  7.         } 
  8.         return $rank
  9. //獲得比自己數小的個數 
  10. function gt_array_values($val,array $array){ 
  11.         $num=0; 
  12.         for($i=0;$i<count($array);$i++){ 
  13.                 if($val>$array[$i]){ 
  14.                         $num++; 
  15.                 } 
  16.         } 
  17.         return $num
  18. //獲得這個數的重復次數 
  19.  
  20. function get_array_repeats($string,array $array) { 
  21.         $count = array_count_values($array); 
  22.         foreach ($count as $key => $value) { 
  23.                  if ($key == $string) { 
  24.                   return $value
  25.                   } 
  26.          } 
  27. }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通州区| 图木舒克市| 淮滨县| 黄龙县| 望江县| 嘉定区| 铜川市| 隆尧县| 固阳县| 青冈县| 云和县| 罗山县| 盘锦市| 昌平区| 老河口市| 高州市| 汤阴县| 深州市| 九龙坡区| 松溪县| 靖安县| 临夏市| 霍邱县| 璧山县| 沁水县| 松阳县| 连云港市| 甘洛县| 安塞县| 伊宁县| 伊春市| 公安县| 肇东市| 英吉沙县| 正宁县| 红原县| 安宁市| 玉门市| 中西区| 冕宁县| 黄梅县|