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

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

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

Якщо ви вирішили діяти — закрийте двері для сумнівів Фрідріх Ніцше  

26/05/2024

Стівен Кінг

Будь-яка проблема в житті — це перевірка наших можливостей Стівен Кінг  

21/05/2024

Вінстон Черчилль

Песиміст бачить труднощі у кожній можливості; оптиміст у будь-яких труднощах бачить можливості Сер Вінстон Леонард…

19/05/2024

Конфуцій

Коли вам здасться, що мета недосяжна, не змінюйте ціль — змінюйте свій план дій Конфуцій…

12/05/2024

Чарльз Дарвін

Виживає не найсильніший і не найрозумніший, а той, хто найкраще пристосовується до змін Чарльз Роберт…

11/05/2024

Що таке тег canvas в HTML5 і для чого він потрібен?

Елемент <canvas> з’явився лише в HTML5 і використовується для динамічного малювання графіки на веб-сторінці з…

10/05/2024