Në këtë mësim, ne do të diskutojmë metodat e mëposhtme të përdorura për t'i bërë kodet e gjata if-else më të shkurtra dhe më të lexueshme. Operator tresh PHPDo të mësoni se çfarë është dhe si ta përdorni me shembuj.

Operator tresh PHP është një operator i kushtëzuar që zvogëlon gjatësinë e kodit gjatë kryerjes së krahasimeve dhe kushteve. Ky operator është një alternativë e rëndësishme për përdorimin e if-elseif-else ose të mbivendosur nëse ndryshe. Quhet operator tresh sepse merr tre operandë.

  • Operator tresh PHPOperatorët që duhen janë si më poshtë:
    gjendje
  • rezultati për true (kthehet e vërtetë nëse kushti është i vërtetë)
  • rezultat për të rremë

Operator tresh PHP Sintaksa është si më poshtë:

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

Kushti shtohet në vend të kushtit. Nëse kushti për deklaratën 1 kthehet i vërtetë, të dhënat që do të shtohen shkruhen. Nëse kushti për deklaratën 2 kthehet false, të dhënat që do të shtohen shkruhen.

Operator tresh PHP

Në shembullin tonë të parë Operator tresh PHP'Do të jemi dëshmitarë se sa e shkurton pohimin nëse-tjetër. Nëse është e vërtetë, ne duam të bëjmë emrin e butonit "Log Out" sepse përdoruesi është i identifikuar, dhe nëse përdoruesi nuk është i identifikuar, duam të bëjmë emrin e butonit "Identifikohu" në mënyrë që përdoruesi të mund të identifikohet. Le të supozojmë se ndryshores is_user_logged_in i jepet vlera true nëse përdoruesi është i identifikuar, dhe false nëse është loguar kushti ne, nëse përdoruesi është log in. Ndryshorja is_user_logged_in është e vërtetë apo jo. Meqenëse ndryshorja nuk ishte ture, kodet në kushtin e parë nuk u ekzekutuan dhe u kaluan në bllokun else. Siç e dini, kodet në bllokun else ekzekutohen nëse të gjitha kushtet e tjera janë të pavlefshme. Në këtë rast, kodet në bllokun else u ekzekutuan dhe u dha dalja "Hyrja".

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

Me formimin e echos PHP Operator tresh PHPNe mund të përdorim. Le ta shohim këtë me 2 shembuj.

$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

Zinxhiri i operatorëve treshe PHP (Operatorë treshe me zinxhir)

Në këtë shembull Operator tresh PHP Ekziston një operator i ri tresh në të. Prandaj kjo shprehje Operator tresh PHP Ne e quajmë atë zinxhir të operatorëve tresh.  Tani le të kuptojmë këtë shembull: Le të supozojmë se ndryshores $is_logged_in i jepet vlera true nëse përdoruesi është i regjistruar, dhe false ndryshe. Variabli $balance është bilanci i përdoruesit, ndryshorja $price është çmimi i produktit. Ndryshorja $message është mesazhi që do t'i tregojmë përdoruesit. Nëse ndryshorja is_logged_in në variablin $message është e vërtetë, kushti do të vazhdojë të funksionojë; nëse është false, të dhënat "Identifikohu në llogarinë tënde fillimisht për të blerë produktin" do t'i caktohen variablit $message. Kushti vazhdoi të funksionojë sepse ndryshorja $is_logged_in ishte e vërtetë. Si kusht në operatorin e dytë tresh, ne pyetëm nëse të dhënat e ndryshores $balance janë ekuivalente me të dhënat e variablit $price. Të dhënat e ndryshores $balance janë 24, të dhënat e variablit $price janë 30. Meqenëse nuk janë ekuivalente, kushti nuk u kthye i vërtetë, ai u kthye false. Operator tresh PHPTë dhënat e para të u caktuan vetëm nëse kushti kthehej i vërtetë, të dhënat e dyta u caktuan nëse kushti kthehej false. Kushti u kthye false dhe ndryshores $message iu caktuan të dhënat "Nuk keni fonde të mjaftueshme për të blerë produktin." Ne shtypëm variablin $message me 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