Урок 4

Условные конструкции

15 мин

Условные конструкции — это основа любой программы. Они позволяют выполнять разный код в зависимости от условий. Без них программы были бы просто последовательностью команд без какой-либо логики.

Зачем нужны условия?

Представьте: вы делаете интернет-магазин. Вам нужно:

  • Показать кнопку "Купить" только если товар в наличии
  • Применить скидку, если пользователь — VIP-клиент
  • Отправить уведомление, если заказ больше 10 000 рублей

Всё это делается через условные конструкции.

if / else — базовое условие

Конструкция if проверяет условие. Если оно истинно (true), выполняется код в фигурных скобках. Если ложно (false) — выполняется блок else (если он есть).

Как это работает:

  1. PHP вычисляет выражение $age >= 18
  2. Если результат true (18 >= 18 — да) — выполняется первый блок
  3. Если бы было false — выполнился бы блок else
Попробуйте: Измените значение $age на 15 и посмотрите, как изменится результат.

elseif — несколько условий

Когда нужно проверить несколько вариантов, используйте elseif. PHP проверяет условия по порядку сверху вниз и выполняет первый подходящий блок.

Порядок проверки важен! Для 75 баллов:

  1. 75 >= 90 — нет, идём дальше
  2. 75 >= 70 — да! Выполняем этот блок, остальные пропускаем
Частая ошибка: Если бы мы сначала проверяли $score >= 50, то 75 баллов получили бы "Удовлетворительно", а не "Хорошо". Всегда начинайте с самого строгого условия!

switch — выбор из вариантов

switch удобен, когда нужно сравнить переменную с несколькими конкретными значениями. Это чище, чем много if/elseif.

Обратите внимание:

  • break — обязателен после каждого case, иначе выполнятся ВСЕ следующие блоки
  • default — выполняется, если ни один case не подошёл (как else)
  • case 6 и 7 объединены — оба приводят к одному результату
Не забывайте break! Без него PHP продолжит выполнять код следующих case — это называется "проваливание" (fall-through). Иногда это нужно специально (как с днями 6 и 7), но обычно это ошибка.

Тернарный оператор — короткий if/else

Когда нужно присвоить значение переменной на основе условия, тернарный оператор делает код компактнее:

$переменная = условие ? значение_если_true : значение_если_false;
Когда использовать: Для простых условий с присваиванием. Если логика сложная — лучше обычный if/else, код будет читабельнее.

Null coalescing оператор (??)

Оператор ?? появился в PHP 7 и очень полезен при работе с данными, которые могут отсутствовать (например, из формы или API).

Он возвращает первое значение, которое не null и существует:

Это гораздо чище, чем:

$displayName = isset($username) && $username !== null ? $username : $defaultName;

Практические советы

Когда что использовать:
- if/else — для проверки условий (больше, меньше, равно и т.д.)
- switch — для сравнения с конкретными значениями (дни недели, статусы, роли)
- ? : — для простого присваивания по условию
- ?? — для работы с возможно отсутствующими данными

Мы используем файлы cookie для улучшения работы сайта и персонализации контента. Продолжая использовать сайт, вы соглашаетесь с использованием cookies в соответствии с нашей Политикой конфиденциальности.