Уроки 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 07/05/2019 01:29

View Comments

Останні пости

Генрі Форд

Людина має два мотиви поведінки — один справжній та інший, що гарно звучить Генрі Форд…

16/07/2024

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

Не треба додумувати надто багато. Так ви створюєте проблеми, яких не існувало Фрідріх Ніцше  

11/07/2024

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

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

06/07/2024

Омар Хайям

Справжній друг — це людина, яка в очі викаже тобі все, що про тебе думає,…

30/06/2024

Корисні поради щодо вибору розсувних дверей

Варто знати, що функціональність і дизайн працюють рука об руку, коли ви використовуєте розсувні двері.…

29/06/2024

Геракліт

Єдине, що постійне, — це зміни. Немає нічого постійного окрім змін. Усе плине, усе змінюється.…

23/06/2024