Menu
Coddy logo textTech

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".

challenge icon

Задание

Легко

Прочитайте два целых числа из ввода: 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: Напишите свой код ниже
// Определяем сообщение о погоде в зависимости от температуры

// Определяем приветствие в зависимости от часа

?>
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы