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

 

 

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

 

Share

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

Авраам Линкольн

Мы не поможем людям, делая за них то, что они могли бы сделать сами Авраам… Читать далее

15/03/2024

Как хранить кофе, чтобы он не терял вкус и аромат

Вкус приготовленного напитка зависит не только от сорта кофе, способа и степени прожарки, помола зерен,… Читать далее

11/03/2024

Габриэль Гарсиа Маркес

Возраст — это не то, сколько тебе лет, а то, — как ты их чувствуешь… Читать далее

10/03/2024

Краткое описание лицензий с открытым исходным кодом

Если вы создаете программное обеспечение, которым хотите поделиться, или используете программный продукт, который хотите модифицировать,… Читать далее

09/03/2024

Нил Гейман

Люди думают, что будут счастливы, если переедут в другое место, а потом оказывается: куда бы… Читать далее

20/02/2024

Уроки JavaScript — как начать работать с объектами

Объекты являются одной из самых важных и мощных функций JavaScript, и во многих встроенных функциях… Читать далее

17/02/2024