Уроки PHP – Сокращенная запись условия if else (тернарный оператор)

Вы, наверное, уже знаете основные варианты записи условия в PHP if, else, elseif. Используя эти условные операторы, можно проверить массу возможных вариантов. Но иногда бывает, что нужно проверить условие только среди 2-3 возможных вариантов. В этом случае велик соблазн максимально уменьшить объем кода. Возможно, что для некоторых программистов сокращенные записи условий добавят больше путаницы, но иногда они бывают полезны. В сегодняшней статье мы вкратце рассмотрим синтаксис и примеры сокращенной записи условий в PHP.

 

 

Синтаксис условного оператора if else

Проверка условия с использованием операторов if else выглядит так:

if ($condition) {
 $result = 'Hello';
} else {
 $result = 'World';
}

 

 

Сокращенная запись условия в PHP

В PHP для сокращенной записи условия используется тернарный оператор, который заменяет сильно распространенное использование структуры if {} else {}. Вместо того, чтобы писать эту длинную структуру, вы можете использовать тернарный оператор так:

$result = $condition ? 'Hello' : 'World';

 

Если переменная $condition возвращает true, тогда переменной $result будет присвоен левый операнд (по левую сторону от двоеточия, т.е., Hello). Если условие ложное, тогда будет использоваться правый операнд (по правую сторону от двоеточия, т.е., World).

 

Интересный факт: название тернарного оператора фактически означает «оператор, который действует на три операнда» (другими словами – троичный оператор). Операнд – это термин, который используется для обозначения частей условного выражения. Тернарный оператор – единственный оператор в PHP, для которого требуются три операнда: условие, истинный и ложный результат.

 

Тернарный оператор будет использовать свой левый операнд, когда условие оценивается как истинное. Это может быть строка, целое число, логическое значение и т.д. Правый операнд будет использоваться для так называемых «ложных значений». Примерами могут быть 0 или ‘0’, пустой массив или строка, null, неопределенная или неназначенная переменная и, конечно, само значение false. Все эти значения заставят тернарный оператор использовать свой правый операнд.

Тернарное выражение вычисляется слева направо.

Тернарные операторы могут быть вложенными, но лучше в этом случае использовать скобки, либо же конструкцию if else.

 

 

Сокращенная запись тернарного оператора

Начиная с PHP 5.3 версии, можно опустить левый операнд, что приведет к еще более короткой записи:

$result = $one ?: 'Hello, world!';

 

В данном случае значение $result будет значением $one, если только $one не возвращает false, и в этом случае будет использована строка Hello, world!.

 

Вы можете написать верхнее выражение и с использованием обычного тернарного оператора, тогда оно будет выглядеть примерно так:

$result = $condition ? $condition : 'Hello, world!';

 

 

Вот и все на сегодня. Спасибо за внимание!

 

Recent Posts

Уоррен Баффетт

Даже если вы очень талантливы и прилагаете большие усилия, для некоторых результатов просто нужно время:…

1 день ago

Пошаговая инструкция Импорта данных из Excel в MySQL через phpMyAdmin

Этот практический урок поможет вам перенести данные из вашего Excel-файла (с некоторыми конкретными столбцами) в…

3 дня ago

Распространенные мифы и заблуждения о пиве: восстанавливаем справедливость

Пиво – один из самых популярных напитков, который наряду с чаем и кофе известен во…

4 дня ago

Уроки JavaScript — Краткие функции на замену большому объемному коду

Довольно часто у программистов возникает соблазн написать какую-нибудь обширную функцию, которая должна решать определенную задачу.…

1 неделя ago

Зачем и как просыпаться раньше

Дискуссии вокруг этой темы вас, вероятно, уже утомили. Но я в данной статье постараюсь показать…

1 неделя ago

Уроки JavaScript — Шпаргалка для разработчиков по работе с консолью в браузере

Консоль браузера (также известная как консоль JavaScript или веб-консоль) — это мощный инструмент для разработчиков,…

2 недели ago