Условия
Условия позволяют программе выбирать, какой код выполнить. Без них программа всегда делала бы одно и то же, независимо от данных.
if и else
Код в фигурных скобках после if выполняется, только если условие истинно. Блок else срабатывает в противном случае:
<?php
$age = 20;
if ($age >= 18) {
echo 'Доступ разрешён';
} else {
echo 'Доступ запрещён';
}Блок else необязателен: если он не нужен, его просто не пишут.
Несколько вариантов
Когда вариантов больше двух, между if и else добавляют elseif. Условия проверяются сверху вниз, и выполняется первый подходящий блок:
<?php
$score = 75;
if ($score >= 90) {
echo 'Отлично';
} elseif ($score >= 70) {
echo 'Хорошо';
} else {
echo 'Нужно подтянуть';
}Порядок важен: если поставить проверку >= 70 первой, оценка 95 тоже получит «Хорошо».
Тернарный оператор
Короткая форма if-else для выбора одного из двух значений. Сначала условие, после ? — значение для истины, после : — для лжи:
<?php
$age = 15;
echo $age >= 18 ? 'взрослый' : 'ребёнок'; // ребёнокТернарный оператор хорош для простых случаев. Сложную логику лучше оставить обычному if — так её легче читать.
Значение по умолчанию
Оператор ?? возвращает левое значение, если оно существует и не равно null, а иначе — правое:
<?php
$input = null;
$name = $input ?? 'Гость';
echo $name; // ГостьЭто самый удобный способ подставить значение по умолчанию.
match
Выражение match сравнивает значение с несколькими вариантами и возвращает результат подходящего:
<?php
$status = 404;
$text = match ($status) {
200 => 'OK',
404 => 'Не найдено',
default => 'Неизвестный статус',
};
echo $text; // Не найденоСравнение в match строгое, как у ===. Если подходящего варианта нет и ветки default тоже нет, PHP выдаст ошибку.
Частая ошибка
Фигурные скобки после if можно не ставить, если внутри одна инструкция. Не делайте так: стоит дописать вторую строку, и она будет выполняться всегда, вне условия. Ставьте скобки всегда.