Тернарный оператор в PHP — Как его использовать?

Кстати говоря, Вы можете сделать заказ у разработчика которого вы сейчас читаете, по любым вопросам с администрированием серверов, а также сайтами. Я помогу в любой задаче, оплата почасовая. Можете обратиться в Telegram для быстрой обратной связи, либо на почту которая на странице "Обо мне".

Дата публикации: 09.11.2018
Дата обновления: 18.12.2021

PHP — Тернарный оператор, который позволит вам чуточку сократить ваш код, и улучшить обработку получаемых переменных, или улучшить возврат значений из функций.

Существует многократная избыточность кода из-за мелких конструкций вида:

if($a < $b) {
    return $b;
}
else {
    return $a;
}

Для исправления данной проблемы нужно использовать тернарный оператор PHP. Это всё можно записать в виде:

return ($a < $b) ? $b : $a;

Довольно маленькая конструкция но более эффективная нежели первая.

Также можно проверять переменные $_REQUEST (GET/POST)

$all = (isset($_REQUEST['all'])) ? true : false;

Соответственно в переменную $all будут возвращаться данные с $_GET $_POST массива из ключа ‘all’, если данного параметра не будет присутствовать в запросе то это будет просто False. Данная конструкция позволит вам избежать частых Warning предупреждений в PHP коде.

Данную схему можно представить на рисунке:

php-warning-undefined-param-ternar-operator

Можно сделать также вложенные тернарные операторы:

$msg = ($code == 0) ? 'Успешно' : ($code == 1) ? 'Предупреждение' : 'Ошибка';

В данном случае сначала отрабатывает конструкция:

$msg = ($code == 0) ? 'Успешно' : (Следующее условие)

А следующее условие у нас является:

($code == 1) ? 'Предупреждение' : 'Ошибка';

Использовать их в таком случае не рекомендуется, так как усложняется чтение вашего кода, и можно использовать PHP конструкцию Switch.

Можно тернарный оператор использовать и так:

return (($var)) ?: 'something else';

Если $var является True, то идёт возврат значения $var, если False — ‘something else’;

Кстати говоря, Вы можете сделать заказ у разработчика которого вы сейчас читаете, по любым вопросам с администрированием серверов, а также сайтами. Я помогу в любой задаче, оплата почасовая. Можете обратиться в Telegram для быстрой обратной связи, либо на почту которая на странице "Обо мне".

Что такое абстрактный класс в PHP?

Как заставить PHP работать быстрее, еще до того как создать продукт, несколько правил

Авторизация через соц. сети Вконтакте, Фейсбук, Одноклассники, Google+ в один клик

PHP Класс для приёма платежей через Тинькофф банк

Robokassa — Класс для работы с регулярными платежами