この記事の例では、PHP が Excel で Rank 関数を実装する方法について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:
SQL文の実装ランキングはこんな感じです
合計スコアは195、180、180、161で、順位はそれぞれ1、2、3、4となります。同点の場合も順位に従います
。
Excel関数の順位ランキングで得られた結果は1、2、2、4となります。同点の場合は真ん中の3は飛ばされます
以下の関数はこの状況をシミュレートします
機能は以下の通りです(もっと良い実装方法があるかは分かりません):
計算式は、ランク = 総人数 - 自分より小さい数字の数 - このスコアの繰り返し数 + 1 (プラス自分) です
取得したランキング配列を対応するIDに従ってデータベースに書き込むことで、ランキング計算機能を実現します
(もちろん、これも195、180、180、165に変更可能で、順位は1、2、2、3となります)
//自分の数字より小さい番号を取得します
function gt_array_values($val,array $array){
$num=0;
for($i=0;$i
$num++;
}
}
$num を返します;
}
//この数値の繰り返し回数を取得します
関数 get_array_repeats($string,array $array) {
$count = array_count_values($array);
foreach ($count as $key => $value) {
If ($key == $string) {
$value を返す;
}
}
}
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。