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

 

 

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

 

This post was last modified on 12/05/2019 03:30

Последние посты

Генри Форд

Человек имеет два мотива поведения — один настоящий и второй, который красиво звучит Генри Форд…

16/07/2024

Фридрих Ницше

Не нужно додумывать слишком много. Так вы создаете проблемы, которых изначально не было Фридрих Ницше…

11/07/2024

Такой разный инвертор! Выбираем между кондиционерами Inverter, Inverter DC и Full DC

Лето в разгаре, а значит самое время задуматься о покупке кондиционера. Но как не потеряться…

06/07/2024

Омар Хайям

Настоящий друг — это человек, который в глаза тебе выскажет все, что о тебе думает,…

30/06/2024

Полезные советы по выбору раздвижной двери

Следует знать, что функциональность и дизайн работают рука об руку, когда вы используете раздвижную дверь.…

29/06/2024

Гераклит

Единственное, что есть в нашей жизни постоянного, — это перемены. Нет ничего более постоянного, чем…

23/06/2024