Тернарний оператор працює майже так само, як і оператор 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 : "Інше значення";
?>
Такий варіант можна використати, якщо треба спочатку перевірити чи існує змінна. Тобто, якщо змінна не існує, то використати якесь інше значення.