PHP - 嵌套三元运算符
PHP - Nested Ternary Operators
有点麻烦,我试图让 $letterGrade 分配字母,但它似乎只分配 D 和 F。
($finalGrade >= 97) ? $letterGrade = "A+"
: ($finalGrade >= 93 && $finalGrade <97) ? $letterGrade = "A"
: ($finalGrade >= 90 && $finalGrade <93) ? $letterGrade = "A-"
: ($finalGrade >= 87 && $finalGrade <90) ? $letterGrade = "B+"
: ($finalGrade >= 83 && $finalGrade <87) ? $letterGrade = "B"
: ($finalGrade >= 80 && $finalGrade< 83) ? $letterGrade = "B-"
: ($finalGrade >= 77 && $finalGrade <80) ? $letterGrade = "C+"
: ($finalGrade >= 73 && $finalGrade <77) ? $letterGrade = "C"
: ($finalGrade >= 70 && $finalGrade <73) ? $letterGrade = "C-"
: ($finalGrade >= 60 && $finalGrade <70) ? $letterGrade = "D"
: $letterGrade = "F"
;
不要为此使用三元运算符,而是使用 switch
语句。例如:
switch ($finalGrade) {
case ($finalGrade >= 93 && $finalGrade < 97):
$letterGrade = "A";
break;
//continue $finalGrade checks
}
您也可以使用 elseif
语句。
if ($finalGrade >= 93 && $finalGrade < 97) {
$lettergrade = "A";
}
elseif($finalGrade >= 90 && $finalGrade < 93) {
$letterGrade = "A-";
}
elseif($finalGrade >= 87 && $finalGrade < 90) {
$letterGrade = "B+";
}
//...continue checks....
else {
$letterGrade = "F";
}
有点麻烦,我试图让 $letterGrade 分配字母,但它似乎只分配 D 和 F。
($finalGrade >= 97) ? $letterGrade = "A+"
: ($finalGrade >= 93 && $finalGrade <97) ? $letterGrade = "A"
: ($finalGrade >= 90 && $finalGrade <93) ? $letterGrade = "A-"
: ($finalGrade >= 87 && $finalGrade <90) ? $letterGrade = "B+"
: ($finalGrade >= 83 && $finalGrade <87) ? $letterGrade = "B"
: ($finalGrade >= 80 && $finalGrade< 83) ? $letterGrade = "B-"
: ($finalGrade >= 77 && $finalGrade <80) ? $letterGrade = "C+"
: ($finalGrade >= 73 && $finalGrade <77) ? $letterGrade = "C"
: ($finalGrade >= 70 && $finalGrade <73) ? $letterGrade = "C-"
: ($finalGrade >= 60 && $finalGrade <70) ? $letterGrade = "D"
: $letterGrade = "F"
;
不要为此使用三元运算符,而是使用 switch
语句。例如:
switch ($finalGrade) {
case ($finalGrade >= 93 && $finalGrade < 97):
$letterGrade = "A";
break;
//continue $finalGrade checks
}
您也可以使用 elseif
语句。
if ($finalGrade >= 93 && $finalGrade < 97) {
$lettergrade = "A";
}
elseif($finalGrade >= 90 && $finalGrade < 93) {
$letterGrade = "A-";
}
elseif($finalGrade >= 87 && $finalGrade < 90) {
$letterGrade = "B+";
}
//...continue checks....
else {
$letterGrade = "F";
}