Тернарний оператор 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 : "Інше значення";
?>

Такий варіант можна використати, якщо треба спочатку перевірити чи існує змінна. Тобто, якщо змінна не існує, то використати якесь інше значення.