Кстати говоря, Вы можете сделать заказ у разработчика которого вы сейчас читаете, по любым вопросам с администрированием серверов, а также сайтами. Я помогу в любой задаче, оплата почасовая. Можете обратиться в 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 коде.
Данную схему можно представить на рисунке:
Можно сделать также вложенные тернарные операторы:
$msg = ($code == 0) ? 'Успешно' : ($code == 1) ? 'Предупреждение' : 'Ошибка';
В данном случае сначала отрабатывает конструкция:
$msg = ($code == 0) ? 'Успешно' : (Следующее условие)
А следующее условие у нас является:
($code == 1) ? 'Предупреждение' : 'Ошибка';
Использовать их в таком случае не рекомендуется, так как усложняется чтение вашего кода, и можно использовать PHP конструкцию Switch.
Можно тернарный оператор использовать и так:
return (($var)) ?: 'something else';
Если $var является True, то идёт возврат значения $var, если False — ‘something else’;
Кстати говоря, Вы можете сделать заказ у разработчика которого вы сейчас читаете, по любым вопросам с администрированием серверов, а также сайтами. Я помогу в любой задаче, оплата почасовая. Можете обратиться в Telegram для быстрой обратной связи, либо на почту которая на странице "Обо мне".