《PHP編程:php實現excel中rank函數功能的方法》要點:
本文介紹了PHP編程:php實現excel中rank函數功能的方法,希望對您有用。如果有疑問,可以聯系我們。
PHP學習本文實例講述了php實現excel中rank函數功能的辦法.分享給大家供大家參考.具體分析如下:
PHP學習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)
PHP學習//獲得比自己數小的個數
function gt_array_values($val,array $array){
??????? $num=0;
??????? for($i=0;$i<count($array);$i++){
??????????????? if($val>$array[$i]){
??????????????????????? $num++;
??????????????? }
??????? }
??????? return $num;
}
//獲得這個數的重復次數
PHP學習function get_array_repeats($string,array $array) {
??????? $count = array_count_values($array);
??????? foreach ($count as $key => $value) {
???????????????? if ($key == $string) {
????????????????? return $value;
????????????????? }
???????? }
}
PHP學習希望本文所述對大家的php程序設計有所贊助.
維易PHP培訓學院每天發布《PHP編程:php實現excel中rank函數功能的方法》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。