На 7-м уроке мы разберем условные конструкции. Это основа логики любого приложения. После этого урока ты сможешь создавать программы, которые «думают» и принимают решения.
Программы без условий похожи на робота, который выполняет команды строго по списку, без гибкости. Условные конструкции позволяют коду анализировать данные и действовать в зависимости от ситуации. Например:
В PHP для этого используются конструкции if, else, elseif. Давай разбираться по порядку.
Самая простая форма условия, «если выполняется условие, сделай что-то».
if (условие) { // Код, который выполнится, если условие истинно (true) }
Пример: Проверка возраста.
$age = 20; if ($age >= 18) { echo "Добро пожаловать в наш клуб!"; }
Если переменная $age больше или равна 18, код выведет приветствие. Иначе ничего не произойдет.
Условие в скобках () всегда возвращает логическое значение (true или false). PHP автоматически преобразует другие типы данных в boolean:
0, "" (пустая строка), null → false.true.Пример: Проверка пароля.
$userPassword = "qwerty123"; $correctPassword = "qwerty123"; if ($userPassword == $correctPassword) { echo "Пароль верный!"; }
Что, если мы хотим обработать оба сценария и когда условие верно и когда нет? Для этого используется else:
if (условие) { // Код для true } else { // Код для false }
Пример: Тот же пароль, но с обработкой ошибки.
if ($userPassword == $correctPassword) { echo "Добро пожаловать!"; } else { echo "Пароль неверный. Попробуйте еще раз."; }
Иногда нужно проверить несколько условий подряд. Для этого подходит elseif (или else if):
if (условие1) { // Код 1 } elseif (условие2) { // Код 2 } else { // Код, если все условия ложны }
Пример: Определение времени суток.
$time = date("H"); // Текущий час (0-23) if ($time < 6) { echo "Доброй ночи!"; } elseif ($time < 12) { echo "Доброе утро!"; } elseif ($time < 18) { echo "Добрый день!"; } else { echo "Добрый вечер!"; }
PHP проверяет условия сверху вниз. Как только находится истинное (true), выполняется его блок, а остальные условия игнорируются.
В PHP есть альтернативный синтаксис для условий, с использованием двоеточия вместо фигурных скобок. Часто используется в шаблонах:
if ($x > 10): echo "X больше 10"; elseif ($x == 10): echo "X равен 10"; else: echo "X меньше 10"; endif;
Условия можно вкладывать друг в друга. Например:
$age = 25; $hasSubscription = true; if ($age >= 18) { if ($hasSubscription) { echo "Доступ разрешен!"; } else { echo "Купите подписку."; } } else { echo "Доступ запрещен."; }
Не увлекайтесь глубокой вложенностью. Если условий больше 3-4, возможно, стоит переписать код через elseif или функции.
Теперь закрепим знания на практике. Попробуй решить задачи самостоятельно, а потом сверься с решениями.
Напиши скрипт, который определяет, является ли число четным.
$number = 10; // Твой код здесь
Решение:
php
if ($number % 2 == 0) { echo "Число $number четное."; } else { echo "Число $number нечетное."; }
Рассчитай индекс массы тела (ИМТ) и выведи результат:
Формула: ИМТ = вес (кг) / (рост (м) * рост (м)).
$weight = 70; // кг $height = 1.75; // метры // Твой код здесь
Решение:
$bmi = $weight / ($height * $height); if ($bmi < 18.5) { echo "ИМТ: $bmi. Недостаточный вес."; } elseif ($bmi < 25) { echo "ИМТ: $bmi. Норма."; } else { echo "ИМТ: $bmi. Избыточный вес."; }
Магазин дает скидки в зависимости от суммы покупки:
Напиши код, который рассчитывает итоговую сумму.
$total = 15000; // Сумма покупки // Твой код здесь
Решение:
if ($total >= 20000) { $discount = 15; } elseif ($total >= 10000) { $discount = 10; } elseif ($total >= 5000) { $discount = 5; } else { $discount = 0; } $finalTotal = $total - ($total * $discount / 100); echo "Сумма с скидкой $discount%: $finalTotal руб.";
= и ==
= присвоение.== сравнение.if ($x = 10) { ... } // Присвоит $x значение 10, условие всегда true
if ($x > 5) echo "A"; echo "B"; // Выведет "B" всегда!
strtolower() или strcasecmp():
if (strtolower($password) == "secret") { ... }
Хочешь больше практики? Переходи к полному курсу по PHP для начинающих.