У цьому уроці ми обговоримо наступні методи, які використовуються, щоб зробити довгі коди if-else коротшими та більш читабельними. Тернарний оператор PHPВи дізнаєтеся, що таке і як це використовувати на прикладах.

Тернарний оператор PHP це умовний оператор, який зменшує довжину коду під час виконання порівнянь і умов. Цей оператор є важливою альтернативою використанню if-elseif-else або вкладеного if else. Його називають тернарним оператором, оскільки він приймає три операнди.

  • Тернарний оператор PHPОперанди, які він приймає, такі:
    стан
  • результат для істини (повертає істину, якщо умова істинна)
  • результат для false

Тернарний оператор PHP Синтаксис такий:

$variable = (condition) ? (statement1) : (statement2);

Замість умови додається умова. Якщо умова для statement1 повертає true, дані, які потрібно додати, записуються. Якщо умова для оператора2 повертає false, дані, які потрібно додати, записуються.

Тернарний оператор PHP

У нашому першому прикладі тернарний оператор PHPМи побачимо, наскільки це скорочує оператор if-else. Якщо істина, ми хочемо зробити назву кнопки «Вийти», оскільки користувач увійшов у систему, а якщо користувач не ввійшов у систему, ми хочемо зробити назву кнопки «Увійти», щоб користувач міг увійти. Припустімо, що змінна is_user_logged_in має значення істина, якщо користувач увійшов, і false, якщо користувач не ввійшов у систему. В умові if ми поставили під сумнів, чи is_user_logged_in змінна правдива чи ні. Оскільки змінна не була ture, коди в першій умові не виконувались і були передані в блок else. Як відомо, коди в блоці else виконуються, якщо всі інші умови недійсні. У цьому випадку було виконано коди в блоці else і надано вихід «Увійти».

// if else ile uzun ifade
$is_user_logged_in = false;
if ($is_user_logged_in === true) {
	echo $button_name = 'Çıkış Yap';
} else {
	echo $button_name = 'Giriş Yap';
}
// Çıktı: Giriş Yap
// ternary operator ile kısa ifade
$is_user_logged_in = false;
echo $button_name = $is_user_logged_in ? 'Çıkış Yap' : 'Giriş Yap';
// Çıktı: Giriş Yap

З формуванням відлуння PHP Тернарний оператор PHPМи можемо використовувати. Давайте розглянемо це на 2 прикладах.

$number = 20;
echo ($number > 15) ? "15'ten daha büyük" : "15'ten daha büyük değil";
// Çıktı: number değişkeninin verisi 15'ten daha büyük
$number = 5;
echo ($number == 10) ? "number değişkeninin verisi 10'a eşit" : "number değişkeninin verisi 10'a eşit değil";
// Çıktı: number değişkeninin verisi 10'a eşit değil

Ланцюжок тернарних операторів PHP (ланцюжок тернарних операторів)

У цьому прикладі Тернарний оператор PHP У ньому є новий тернарний оператор. Тому цей вислів Тернарний оператор PHP Ми називаємо це ланцюжком тернарних операторів.  Тепер давайте розберемо цей приклад: припустімо, що змінна $is_logged_in має значення true, якщо користувач увійшов, і false в іншому випадку. Змінна $balance — баланс користувача, змінна $price — ціна продукту. Змінна $message — це повідомлення, яке ми покажемо користувачеві. Якщо змінна is_logged_in у змінній $message має значення true, умова продовжуватиме працювати; якщо воно невірне, дані «Спочатку увійдіть до свого облікового запису, щоб придбати продукт» буде присвоєно змінній $message. Умова продовжувала виконуватися, оскільки змінна $is_logged_in мала значення true. Як умову в другому тернарному операторі ми запитали, чи дані змінної $balance еквівалентні даним змінної $price. Дані змінної $balance дорівнюють 24, а дані змінної $price — 30. Оскільки вони не еквівалентні, умова повернула не true, а повернула false. Тернарний оператор PHPПерші дані призначалися, лише якщо умова повертала true, другі дані призначалися, якщо умова повертала false. Умова повернула false, а змінній $message було присвоєно дані «У вас недостатньо коштів для покупки продукту». Ми надрукували змінну $message з echo.

$is_logged_in = true; // kullanıcı giriş yaptı mı?   
$balance = 24; // bakiye
$price = 30; // ürün fiyatı
$message = $is_logged_in
			? ($balance === $price
					? 'Ürünü satın almak için yeterli bakiyeniz var'
					: 'Ürünü satın almak için yeterli bakiyeniz yok')
			: 'Ürünü satın almak için önce hesabınıza giriş yapın';
echo $message;
// Ürünü satın almak için yeterli bakiyeniz yok