Прежде всего, Вы писали некоторые подробности о ваших требованиях по поводу результата вы хотите от этой функции. Я проверил вашу функцию, и у нее есть какая-то серьезная проблема.
Теперь, если ваше требование состоит в том, чтобы показать «Grade: A», если кто-то получает 90 в любой категории (например, 90 в $ талант или 90 в $ физическом или 90 в $ развлечении и т. Д.), То функция, которую вы написали, работающ отлично. Все, что вам нужно сделать, это инициализировать функцию:
function ovr_grade($talent, $physical, $entertainment, $reputation, $overness) {
if ($talent >= 90 || $physical >= 90 || $entertainment >= 90 || $reputation >= 90 || $overness >= 90) {
return "Grade: A";
} elseif ($talent >= 80 || $physical >= 80 || $entertainment >= 80 || $reputation >= 80 || $overness >= 80) {
return "Grade: B";
} elseif ($talent >= 70 || $physical >= 70 || $entertainment >= 70 || $reputation >= 70 || $overness >= 70) {
return "Grade: C";
} elseif ($talent >= 60 || $physical >= 60 || $entertainment >= 60 || $reputation >= 60 || $overness >= 60) {
return "Grade: D";
} elseif ($talent = 50 || $physical = 50 || $entertainment = 50 || $reputation = 50 || $overness >= 50) {
return "Grade: E";
} elseif ($talent <= 49 || $physical <= 49 || $entertainment <= 49 || $reputation <= 49 || $overness <= 49) {
return "Grade: F";
} else {
return "N/A";
}
}
echo ovr_grade(90,90,90,90,90);
Тогда вы должны получить желаемый результат. Но если вы хотите, чтобы показать «класс: А», когда кто-то получает 90 во всей категории, то вы должны изменить свое состояние, как показано ниже:
function ovr_grade($talent, $physical, $entertainment, $reputation, $overness) {
if ($talent >= 90 && $physical >= 90 && $entertainment >= 90 && $reputation >= 90 && $overness >= 90) {
return "Grade: A";
} elseif ($talent >= 80 && $physical >= 80 && $entertainment >= 80 && $reputation >= 80 && $overness >= 80) {
return "Grade: B";
} elseif ($talent >= 70 && $physical >= 70 && $entertainment >= 70 && $reputation >= 70 && $overness >= 70) {
return "Grade: C";
} elseif ($talent >= 60 && $physical >= 60 && $entertainment >= 60 && $reputation >= 60 && $overness >= 60) {
return "Grade: D";
} elseif ($talent = 50 && $physical = 50 && $entertainment = 50 && $reputation = 50 && $overness >= 50) {
return "Grade: E";
} elseif ($talent <= 49 && $physical <= 49 && $entertainment <= 49 && $reputation <= 49 && $overness <= 49) {
return "Grade: F";
} else {
return "N/A";
}
}
echo ovr_grade(90,90,90,90,90);
Я думаю, что это поможет вам. Если вам нужно больше ничего, не стесняйтесь спрашивать.
Благодаря
, что именно проблема? вы хотите проверить, является ли одна из переменных выше 90, 80 и т. д.? Вы просто проверяете наличие всех переменных, кроме $ overness – everconfusedGuy
, не устанавливая аргументы функции в вызове функции. –
Вы сравниваете '$ talent, $ physical, $ entertainment, $ Reputation' как логическое значение.Вы должны перестроить код на '($ talent> = 90 || $ physical> = 90 || $ entertainment> = 90 || $ репутация> = 90 || $ overness> = 90)' –