Сокращённая запись If
Простой if...else можно уместить в одной строке, и код останется коротким. Такая форма называется тернарным оператором. Это название происходит от трёх его частей: условия, значения на случай, когда оно истинно, и значения на случай, когда оно ложно.
Тернарный оператор
Вместо полной записи if...else эта строка выбирает для $vote одну из двух строк в зависимости от $age:
Вывод: PHP-скрипт
<?php
$age = 20;
$vote = ($age >= 18) ? "достаточно взрослый" : "недостаточно взрослый";
echo $vote;
?>
Тернарный оператор без переменной
Переменная не обязательна. Тернарный оператор можно поместить прямо в echo, и тот выведет выбранное значение:
Вывод: PHP-скрипт
<?php
$age = 20;
echo ($age >= 18) ? "достаточно взрослый" : "недостаточно взрослый";
?>
Оператор объединения с null
Оператор объединения с null (??) смотрит на значение слева от себя. Если это значение существует и не равно null, вы получаете его; если нет, вы получаете значение справа. Поэтому он служит удобной и более короткой заменой тернарному оператору, когда нужно лишь узнать, задана ли переменная.
Объединение с null для неопределённой переменной
$color в этом скрипте не определена, поэтому ?? использует запасное значение «red»:
Вывод: PHP-скрипт
<?php
echo $color ?? "red";
?>
Объединение с null для определённой переменной
Теперь $color присвоено значение, поэтому вы получаете именно его, а запасное значение игнорируется:
Вывод: PHP-скрипт
<?php
$color = "blue";
echo $color ?? "red";
?>