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


Тернарный оператор работает почти также как и оператор if, но при использовании тернарного оператора, мы вместо ключевых слов пишем ? и :.

Синтаксис:

$var = condition ? exp1 : exp2;

Если условие выполняется, то переменной $var присваивается результат вычисления exp1, иначе exp2.

Пример:

<?php
$speed = 55;

echo ($speed <= 60) ? "Скорость в пределах нормы" : "Превышение скорости !"; 
?>

В результате мы увидим строку - "Скорость в пределах нормы".

PHP 5.3

Начиная с версии PHP 5.3 можно использовать тернарный оператор в таком варианте:

<?php
$var = $value ?: "Другое значение";

// еквивалентно
$var = $value ? $value : "Другое значение";
?>

Этот вариант полезно использовать, когда нужно изменить значение переменной, только в случае, когда проверяемая переменная не равняется true

PHP 7

Также, уже начиная с версии PHP 7.0 можно использовать тернарный оператор в таком варианте:

<?php
$var = $value ?? "Другое значение";

// еквивалентно
$var = isset($value) ? $value : "Другое значение";
?>

Такой вариант полезно использовать, если нужно сначала проверить существует ли переменная. Т. е., если переменная не существует, то использовать какое-то другое значение.