我想在检查结果中显示位置1、2、3

我创建了一个考试结果表,希望显示所有学生的排名,例如1st,2nd,3rd .....,例如他的百分比。

http://img4.mukewang.com/60a71d9500011f8309630266.jpg

我想要这个结果。

http://img1.mukewang.com/60a71da30001fbe209650267.jpg

我正在尝试按百分比获得学生的排名。例如,如果学生1的得分为90.0%,总分100,而学生2的得分为80.5%,总分100。学生1的排名将高于学生2。我想知道如何才能做到这一点?


郎朗坤
浏览 131回答 2
2回答

LEATH

您可以使用array_multisort,array_walk排名记录。例如$records = [&nbsp;0 => ['percentage' => 95],&nbsp;1 => ['percentage' => 91],&nbsp;2 => ['percentage' => 98],&nbsp;3 => ['percentage' => 70]];array_multisort(array_column($records, 'percentage'),SORT_DESC,$records);array_walk($records, function(&$v,$k){&nbsp; $v['rank'] = $k + 1;});echo '<pre>';print_r($records);输出Array([0] => Array&nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; [percentage] => 98&nbsp; &nbsp; &nbsp; &nbsp; [rank] => 1&nbsp; &nbsp; )[1] => Array&nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; [percentage] => 95&nbsp; &nbsp; &nbsp; &nbsp; [rank] => 2&nbsp; &nbsp; )[2] => Array&nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; [percentage] => 91&nbsp; &nbsp; &nbsp; &nbsp; [rank] => 3&nbsp; &nbsp; )[3] => Array&nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; [percentage] => 70&nbsp; &nbsp; &nbsp; &nbsp; [rank] => 4&nbsp; &nbsp; ))
打开App,查看更多内容
随时随地看视频慕课网APP