Ebben a leckében a következő módszereket tárgyaljuk, amelyekkel a hosszú if-else kódokat rövidebbé és olvashatóbbá tehetjük. PHP hármas operátorPéldákkal megtudhatja, mi az, és hogyan kell használni.

PHP hármas operátor egy feltételes operátor, amely csökkenti a kód hosszát összehasonlítások és feltételek végrehajtásakor. Ez az operátor fontos alternatívája az if-elseif-else vagy a beágyazott if else használatának. Háromtagú operátornak hívják, mert három operandust vesz igénybe.

  • PHP hármas operátorAz ehhez szükséges operandusok a következők:
    állapot
  • eredmény igaz (igaz értékkel tér vissza, ha a feltétel igaz)
  • eredmény hamis

PHP hármas operátor A szintaxis a következő:

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

Feltétel helyett feltétel kerül hozzáadásra. Ha az utasítás1 feltétele igazat ad vissza, akkor a hozzáadandó adatok kiírásra kerülnek. Ha az utasítás2 feltétele hamis értéket ad vissza, akkor a hozzáadandó adatok kiírásra kerülnek.

PHP hármas operátor

Első példánkban PHP hármas operátorTanúi leszünk, hogy mennyire lerövidíti az if-else kijelentést. Ha igaz, akkor a "Kijelentkezés" gomb nevét szeretnénk megadni, mert a felhasználó be van jelentkezve, és ha a felhasználó nincs bejelentkezve, akkor a "Bejelentkezés" gomb nevét szeretnénk megadni, hogy a felhasználó be tudjon jelentkezni. Tegyük fel, hogy az is_user_logged_in változó igaz értéket kap, ha a felhasználó be van jelentkezve, és hamis, ha a felhasználó nincs bejelentkezve, megkérdőjelezzük a_ feltételt, ha nincs bejelentkezve. igaz vagy sem. Mivel a változó nem volt ture, az első feltételben lévő kódok nem futottak le, és átkerültek az else blokkhoz. Mint tudja, az else blokkban lévő kódok akkor futnak le, ha az összes többi feltétel érvénytelen. Ebben az esetben az else blokkban lévő kódok végrehajtásra kerültek, és a "Sign In" kimenet biztosított.

// 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 visszhangképzéssel PHP hármas operátorHasználhatjuk. Lássuk ezt 2 példával.

$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 hármas operátorlánc (Chaining Ternary Operator Chaining)

Ebben a példában PHP hármas operátor Egy új hármas operátor van benne. Ezért van ez a kifejezés PHP hármas operátor Ezt hívjuk háromtagú operátorok láncolásának.  Most értsük meg ezt a példát: Tegyük fel, hogy a $is_logged_in változó igaz értéket kap, ha a felhasználó be van jelentkezve, és false értéket egyébként. $egyenleg változó a felhasználó egyenlege, $price változó a termék ára. A $message változó az az üzenet, amelyet megjelenítünk a felhasználónak. Ha az is_logged_in változó a $message változóban igaz, a feltétel továbbra is futni fog; ha hamis, akkor a $message változóhoz a „Termék megvásárlásához először jelentkezzen be a fiókjába” adat lesz hozzárendelve. A feltétel továbbra is futott, mert a $is_logged_in változó igaz. A második hármas operátorban feltételként megkérdeztük, hogy a $balance változó adatai ekvivalensek-e a $price változó adataival. A $balance változó adata 24, a $price változóé 30. Mivel ezek nem egyenértékűek, a feltétel nem igaz, hanem false-t adott vissza. PHP hármas operátorAz első adat csak akkor lett hozzárendelve, ha a feltétel igazat adott vissza, a második adatot pedig akkor, ha a feltétel hamis. A feltétel hamis értéket adott vissza, és a $message változóhoz a következő adatot rendelték hozzá: "Nincs elegendő pénze a termék megvásárlásához." A $message változót visszhanggal nyomtattuk.

$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