School PHP
Вернуться на страницу трюков

Тернатный оператор. a ? b : c

Тернарный оператор - это упрошенная форма проверки. В основном используется для инициализации переменных.
Посмотрим детский (обычный) вариант:
<?php
if(!empty($_POST['ok'])) {
    $ok = trim($_POST['ok']);
} else {
    $ok = false;
}

Красиво, но слишком длинно! А теперь реализуем тоже самое, только через тернарный оператор:
<?php
$ok = (!empty($_POST['ok']) ? trim($_POST['ok']) : false);

Сократили проверку в одну строку, а читать стало так же удобно, как было и ранее, порой даже удобнее.

Смотрим на верхнюю и нижнюю строку, находим общее. Если всё ещё сложно - разжевываем:
$ok = // результат тернарного оператора попадёт сюда. После знака "=" находится сам оператор.
Теперь, до знака "?" у нас находится условие. Если оно выполняется, то записываются данные слева от знака ":", если нет - справа.

То есть из примера: если переменная существует и не пустая, то результат : $ok = trim($_POST['ok']), в противном случае: $ok = false;
Войти | Регистрация