Тернарный оператор - это сокращённая форма конструкции if-else. Вместо того чтобы писать так:
можно использовать:

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

  1. PHP сначала вычисляет условие. Если оно истинно, возвращается значение1, иначе значение2.
  2. Результат присваивается переменной $результат.
Использование тернарного оператора позволяет сделать код более лаконичным.
Название "тернарный" связано с тем, что оператор требует трёх операндов: условиезначение1значение2.

Пример использования тернарного оператора

Допустим, нужно вывести ссылку "Войти", если пользователь не авторизован, и "Выйти", если авторизован. С помощью if-else это выглядит так:
С использованием тернарного оператора:
Если строка слишком длинная, её можно разбить:

Сокращённая форма тернарного оператора

С PHP 5.3 доступна сокращённая форма:
Здесь PHP проверяет $начальное в булевом контексте. Если оно истинно, присваивает его значение, иначе $по_умолчанию.
Пример:

Цепочки тернарных операторов

Можно строить цепочки, используя скобки:
Однако часто такие цепочки усложняют чтение кода. В таких случаях лучше использовать if-else или if-elseif.

Вывод

Тернарный оператор (?: ) — это компактная альтернатива if-else. Используйте его, когда это делает код короче и понятнее.