Тернарный оператор — вещь известная и скучная:
А теперь об интересном! Начиная с версии PHP 5.3 можно опустить
$a = $expr1 ? $expr2 : $expr3;
Если $expr1
истинно, результатом $a
станет $expr2
, иначе $expr3
.А теперь об интересном! Начиная с версии PHP 5.3 можно опустить
$expr2
.
$a = $expr1 ?: $expr3;
Это равносильно записи:
$a = $expr1 ? $expr1 : $expr3;
Примеры:
$a = true ?: false; // true
$a = false ?: true; // true
$a = 1 ?: 2; // 1
$a = 0 ?: 2; // 2
В мануале об этом упоминается очень сухо и коротко. Ну а что еще добавить?