2つのアレイがあります。$marks
および$grades
。$marks
学生が採点したマークを含み、次の関数を使用し$grades
てループすることによって取得され$marks
ます。
function convertMarkToGrade($mark)
{
if($mark<21)
return "D";
else if($mark<33)
return "C";
else if($mark<41)
return "B";
else if($mark<=50)
return "A";
}
$grades
問題は、次の基準を使用して、アレイ内の最小および2番目に小さいグレードをアップグレードしたいことです。
アップスケーリングは、最低グレードから次に高いグレードへ、つまりBからA、CからBなどに行われます。
グレードが同点の場合、最高点のグレードがアップグレードされます。
例:に
しましょ$marks
うarray(25,43,36,16,28)
。したがって、として取得$grades
しarray("C","A","B","D","C")
ます。$upgraded_grades =array("C","A","B","C","B")
つまり、Dグレード(最小グレード)がアップグレードされ、Cグレード(2番目に小さいグレードですが最大マーク付き)もアップグレードされます。
PHPでそれを行うにはどうすればよいですか?