În această lecție, vom discuta următoarele metode folosite pentru a face codurile lungi if-else mai scurte și mai lizibile. Operator ternar PHPVeți învăța ce este și cum să îl utilizați cu exemple.

Operator ternar PHP este un operator condiționat care reduce lungimea codului atunci când se efectuează comparații și condiții. Acest operator este o alternativă importantă la utilizarea if-elseif-else sau imbricat if else. Se numește operator ternar deoarece necesită trei operanzi.

  • Operator ternar PHPOperanzii necesari sunt după cum urmează:
    stare
  • rezultat pentru adevărat (revine adevărat dacă condiția este adevărată)
  • rezultat pentru fals

Operator ternar PHP Sintaxa este următoarea:

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

Condiția este adăugată în loc de condiție. Dacă condiția pentru declarația1 returnează adevărată, datele de adăugat sunt scrise. Dacă condiția pentru declarația 2 returnează false, datele de adăugat sunt scrise.

Operator ternar PHP

În primul nostru exemplu Operator ternar PHP"Vom asista la cât de mult scurtează afirmația if-else. Dacă este adevărat, dorim să facem numele butonului „Log Out” deoarece utilizatorul este autentificat, iar dacă utilizatorul nu este autentificat, vrem să facem numele butonului „Log In” astfel încât utilizatorul să se poată conecta. Să presupunem că variabilei is_user_logged_in i se dă valoarea true dacă utilizatorul este autentificat și false dacă utilizatorul nu este conectat. nu. Deoarece variabila nu era ture, codurile din prima condiție nu au fost executate și au fost trecute în blocul else. După cum știți, codurile din blocul else sunt executate dacă toate celelalte condiții sunt invalide. În acest caz, codurile din blocul else au fost executate și ieșirea „Sign In” a fost furnizată.

// 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

Cu formarea ecou PHP Operator ternar PHPPutem folosi. Să vedem asta cu 2 exemple.

$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 Ternary Operator Chaining (Înlănțuire a operatorilor ternari)

În acest exemplu Operator ternar PHP Există un nou operator ternar în el. De aceea această expresie Operator ternar PHP Îi spunem înlănțuirea operatorilor ternari.  Acum să înțelegem acest exemplu: Să presupunem că variabilei $is_logged_in primește valoarea true dacă utilizatorul este conectat și false în caz contrar. $balance variabila este soldul utilizatorului, $price variabila este prețul produsului. Variabila $message este mesajul pe care îl vom afișa utilizatorului. Dacă variabila is_logged_in din variabila $message este adevărată, condiția va continua să ruleze; dacă este fals, datele „Conectează-te mai întâi la contul tău pentru a cumpăra produsul” vor fi atribuite variabilei $message. Condiția a continuat să ruleze deoarece variabila $is_logged_in a fost adevărată. Ca o condiție în al doilea operator ternar, am întrebat dacă datele variabilei $balance sunt echivalente cu datele variabilei $price. Datele variabilei $balance sunt 24, datele variabilei $price sunt 30. Deoarece nu sunt echivalente, condiția nu a returnat adevărată, a returnat fals. Operator ternar PHPPrimele date ale au fost atribuite numai dacă condiția a returnat adevărată, a doua dată a fost atribuită dacă condiția a returnat fals. Condiția a returnat fals și variabilei $message i s-au atribuit datele „Nu aveți suficiente fonduri pentru a cumpăra produsul”. Am imprimat variabila $message cu 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