Уроки 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

Разница между Изображением обложки и Избранным изображением в WordPress

Визуальная привлекательность является ключевой особенностью любого сайта на ВордПрессе. Посетители чаще будут открывать ссылки, украшенные…

2 дня ago

15 классических вопросов на собеседовании, к которым следует быть готовым программисту

Любые собеседования всегда волнуют, и даже могут вызвать определенную степень нервозности. Однако, если вы будете…

4 дня ago

Артур Шопенгауэр

Изменить я этого не могу, остается извлекать из этого пользу Артур Шопенгауэр  

5 дней ago

Эрнест Хемингуэй

Если вас что-то ранит, значит, вам не все равно Эрнест Хемингуэй  

2 недели ago

Как создать собственный URL-адрес для входа в WordPress

По умолчанию после каждой установки WordPress есть три основных URL-адреса для входа в админку: {домен}/wp-admin.php,…

2 недели ago

Как отслеживать производительность фрилансера без сложного софта

Производительность – это валюта фрилансера. Когда ты работаешь сам на себя, никто не спросит: "Сколько…

2 недели ago