If - Else
Часть раздела Основы путешествия по PHP на Coddy — урок 29 из 71.
Иногда вам нужно, чтобы ваш код выполнял одно действие, когда условие истинно, и что-то другое, когда оно ложно. Оператор else позволяет обрабатывать оба случая.
Добавьте else после вашего блока if, чтобы указать, что происходит, когда условие ложно:
<?php
$age = 15;
if ($age >= 18) {
echo "You can vote";
} else {
echo "You cannot vote yet";
}
?>Поскольку $age равно 15, условие ложно, поэтому PHP выполняет блок else и выводит "You cannot vote yet".
Для более чем двух вариантов используйте цепочку условий с elseif:
<?php
$score = 75;
if ($score >= 90) {
echo "Grade: A";
} elseif ($score >= 80) {
echo "Grade: B";
} elseif ($score >= 70) {
echo "Grade: C";
} else {
echo "Grade: F";
}
?>PHP проверяет каждое условие сверху вниз и выполняет первый блок, который соответствует. Как только найдено совпадение, он пропускает все остальные условия. Здесь 75 не проходит первые две проверки, но проходит $score >= 70, поэтому выводится "Grade: C".
Задание
ЛегкоПрочитайте два целых числа из ввода: temperature и hour (в 24-часовом формате, 0-23).
Определите подходящее сообщение на основе следующих условий:
- Если температура ниже 0, выведите
Freezing conditions - В противном случае, если температура ниже 15, выведите
Cold weather - В противном случае, если температура ниже 25, выведите
Pleasant weather - В противном случае выведите
Hot weather
Затем, на новой строке, выведите приветствие в зависимости от часа:
- Если час меньше 12, выведите
Good morning! - В противном случае, если час меньше 18, выведите
Good afternoon! - В противном случае выведите
Good evening!
Пример:
Если входные данные 20 и 9, вывод должен быть:
Pleasant weather
Good morning!Если входные данные -5 и 14, вывод должен быть:
Freezing conditions
Good afternoon!Шпаргалка
Клауза else определяет, что происходит, когда условие if ложно:
<?php
$age = 15;
if ($age >= 18) {
echo "You can vote";
} else {
echo "You cannot vote yet";
}
?>Используйте elseif для цепочки нескольких условий:
<?php
$score = 75;
if ($score >= 90) {
echo "Grade: A";
} elseif ($score >= 80) {
echo "Grade: B";
} elseif ($score >= 70) {
echo "Grade: C";
} else {
echo "Grade: F";
}
?>PHP проверяет условия сверху вниз и выполняет первый подходящий блок, затем пропускает остальные.
Попробуйте сами
<?php
// Считываем ввод
$temperature = intval(fgets(STDIN));
$hour = intval(fgets(STDIN));
// TODO: Напишите свой код ниже
// Определяем сообщение о погоде в зависимости от температуры
// Определяем приветствие в зависимости от часа
?>В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators