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

 

 

Ось і все на сьогодні. Дякуємо за увагу!

 

View Comments

Recent Posts

Різниця між Зображенням обкладинки та Обраним зображенням у WordPress

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

19 години ago

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

Будь-які співбесіди завжди хвилюють, і навіть можуть викликати певного ступеню нервозність. Однак, якщо ви будете…

3 дні ago

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

Змінити я цього не можу, залишається отримувати з цього користь Артур Шопенгауер  

4 дні ago

Ернест Хемінгуей

Якщо вас щось ранить, значить, вам не все одно Ернест Хемінгуей  

1 тиждень ago

Як створити власну URL-адресу для входу в WordPress

За замовчуванням після кожної інсталяції WordPress є три основні URL-адреси для входу в адмінку: {домен}/wp-admin.php,…

2 тижні ago

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

Продуктивність - це валюта фрилансера. Коли ти працюєш сам на себе, ніхто не запитає: «Скільки…

2 тижні ago