$data = [
['name' => 'taguchi', 'score' => 80],
['name' => 'kikuchi', 'score' => 60],
['name' => 'hayashi', 'score' => 70],
['name' => 'tamachi', 'score' => 60],
];
この score
を if
を使って総当たりにさせて…
例えば score[0]
と score[1]
を比較。score[0]
が大きいから +1
次に score[0]
と score[2]
を比較しさらに score[0]
に +1 して score[0]
は現在合計 2 ポイント
上記のようなことをくり返し最終的に…
score[0]
合計 4 ポイント
score[1]
合計マイナス 2 ポイント
score[2]
合計 1 ポイント
score[3]
合計マイナス 2 ポイント
からの配列並び替え。みたいなことになっているのでしょうか?
それとも上記の方法ではなく「 usort
は 0, -1, 1
を使い配列を前後させる」というルールのもと後は最も効率の良い方法で内部で処理してもらうイメージなのでしょうか?
ちなみに usort
で使う数字は 0, -1, 1
で固定でしょうか?
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?