Перейти к основному содержимому

Сокращённая запись If

Простой if...else можно уместить в одной строке, и код останется коротким. Такая форма называется тернарным оператором. Это название происходит от трёх его частей: условия, значения на случай, когда оно истинно, и значения на случай, когда оно ложно.

Тернарный оператор

Вместо полной записи if...else эта строка выбирает для $vote одну из двух строк в зависимости от $age:

Prompt
Напишите PHP-скрипт, который задаёт переменной $age значение 20, затем с помощью тернарного оператора проверяет, что $age больше или равно 18, и присваивает переменной $vote значение «достаточно взрослый» или «недостаточно взрослый», после чего выводит $vote.
Вывод: PHP-скрипт

Тернарный оператор без переменной

Переменная не обязательна. Тернарный оператор можно поместить прямо в echo, и тот выведет выбранное значение:

Prompt
Напишите PHP-скрипт, который задаёт переменной $age значение 20, затем использует тернарный оператор прямо внутри инструкции echo, чтобы вывести «достаточно взрослый», если $age больше или равно 18, и «недостаточно взрослый» в противном случае.
Вывод: PHP-скрипт

Оператор объединения с null

Оператор объединения с null (??) смотрит на значение слева от себя. Если это значение существует и не равно null, вы получаете его; если нет, вы получаете значение справа. Поэтому он служит удобной и более короткой заменой тернарному оператору, когда нужно лишь узнать, задана ли переменная.

Объединение с null для неопределённой переменной

$color в этом скрипте не определена, поэтому ?? использует запасное значение «red»:

Prompt
Напишите PHP-скрипт, который с помощью оператора объединения с null проверяет, установлена ли переменная $color. Если $color установлена, выведите её значение. Если нет, выведите "red". Не определяйте $color заранее.
Вывод: PHP-скрипт

Объединение с null для определённой переменной

Теперь $color присвоено значение, поэтому вы получаете именно его, а запасное значение игнорируется:

Prompt
Напишите PHP-скрипт, который задаёт переменной $color значение "blue", затем с помощью оператора объединения с null выводит $color или "red" как значение по умолчанию.
Вывод: PHP-скрипт