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

Що таке Unix Domain Socket: секретний тунель у Linux

У нашій подорожі світом сокетів ми почали з "верхнього поверху" — WebSocket у браузері, потім…

2 дні ago

Мережеві сокети (Network Sockets): фундамент інтернету 🌐 | Глибоке занурення

У попередній статті ми говорили про WebSockets — технологію, що дозволяє створювати інтерактивні чати в…

3 дні ago

Як доглядати за шкірою малюка влітку та взимку

Шкіра немовляти – тонка та ніжна. Ще не справляється із захистом організму від зовнішніх факторів.…

4 дні ago

Що таке Сокети (WebSocket) 🔌 | детально для початківців

Уявіть собі телефонну розмову. Ви дзвоните другу, він піднімає слухавку, і ви можете говорити одночасно,…

5 днів ago

Мобільний воркстейшн: чи може планшет 📱 замінити ноутбук веб-розробнику?

Довгий час планшети сприймалися виключно як пристрої для споживання контенту: подивитися YouTube, погортати стрічку новин…

6 днів ago

Як примусово оновити кеш у користувачів 🧹 | Практичні методи

Ви внесли правки в CSS, виправили критичний баг у JavaScript, завантажили файли на сервер і…

1 тиждень ago