Тернарный оператор 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 : "Другое значение";
?>
Такой вариант полезно использовать, если нужно сначала проверить существует ли переменная. Т. е., если переменная не существует, то использовать какое-то другое значение.