Тернарный оператор (также известный как условный оператор) — это сокращённая форма конструкции if-else, которая позволяет присваивать значение переменной или возвращать результат выражения на основе условия в одной строке.
Базовый синтаксис:
(условие) ? выражение_если_истина : выражение_если_ложь;
$age = 25;
$status = ($age >= 18) ? 'совершеннолетний' : 'несовершеннолетний';
echo $status; // выведет "совершеннолетний"
$score = 85;
$result = ($score >= 60) ? 'Пройдено' : 'Не пройдено';
echo ($is_logged_in) ? 'Добро пожаловать' : 'Пожалуйста, войдите';
$grade = ($score >= 90) ? 'A' :
($score >= 80) ? 'B' :
($score >= 70) ? 'C' : 'D';
Доступна с PHP 5.3:
$username = $_GET['user'] ?: 'Гость'; // Если $_GET['user'] пусто, вернёт 'Гость'
Эквивалентно:
$username = !empty($_GET['user']) ? $_GET['user'] : 'Гость';
$items_per_page = (isset($_GET['per_page'])) ? (int)$_GET['per_page'] : 10;
$display_name = $user->name ?? $user->login ?? 'Аноним';
<div class="<?=($is_active) ? 'active' : 'inactive'?>">
тернарный оператор — это удобный инструмент для простых условных выражений, который делает код компактнее. Однако для сложных условий лучше использовать традиционные if-else конструкции для сохранения читаемости кода.