В този урок ще обсъдим следните методи, използвани за правене на дълги if-else кодове по-кратки и по-четими. PHP троичен операторЩе научите какво е и как да го използвате с примери.

PHP троичен оператор е условен оператор, който намалява дължината на кода при извършване на сравнения и условия. Този оператор е важна алтернатива на използването на if-elseif-else или вложен if else. Нарича се троичен оператор, защото приема три операнда.

  • PHP троичен операторОперандите, които приема, са както следва:
    състояние
  • резултат за true (връща true, ако условието е true)
  • резултат за невярно

PHP троичен оператор Синтаксисът е както следва:

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

Добавя се условие вместо условие. Ако условието за statement1 върне true, данните за добавяне се записват. Ако условието за statement2 върне false, данните за добавяне се записват.

PHP троичен оператор

В първия ни пример PHP троичен оператор'Ще станем свидетели колко съкращава оператора if-else. Ако е true, искаме да направим името на бутона „Log Out“, защото потребителят е влязъл, а ако потребителят не е влязъл, искаме да направим името на бутона „Log In“, така че потребителят да може да влезе. Да приемем, че на променливата is_user_logged_in е дадена стойност true, ако потребителят е влязъл, и 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 е вярна, условието ще продължи да се изпълнява; ако е невярно, данните „Първо влезте в акаунта си, за да закупите продукта“ ще бъдат присвоени на променливата $message. Условието продължи да се изпълнява, защото променливата $is_logged_in беше вярна. Като условие във втория троичен оператор попитахме дали данните от променливата $balance са еквивалентни на данните от променливата $price. Данните на променливата $balance са 24, данните на променливата $price са 30. Тъй като те не са еквивалентни, условието не върна истина, върна фалшиво. PHP троичен операторПървите данни на бяха присвоени само ако условието върна истина, вторите данни бяха присвоени, ако условието върна невярно. Условието върна невярно и на променливата $message бяха присвоени данните „Нямате достатъчно средства за закупуване на продукта“. Отпечатахме променливата $message с ехо.

$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