Уроки 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!';
Ось і все на сьогодні. Дякуємо за увагу!
pinjufzxj
Интересный пост