PHPda ternar operator
Faraz qilaylik, bizda foydalanuvchi yoshi 18 dan oshgan yoki yo‘qligini tekshiradigan quyidagi kod mavjud:
<?php
$age = 17;
if ($age >= 18) {
$adult = true;
} else {
$adult = false;
}
var_dump($adult);
?>
Ko‘rib turganingizdek, if-else konstruktsiyasi
faqat $adult o‘zgaruvchisiga ma’lum bir
qiymat yozish uchun kerak. Bunday vazifalar uchun,
ya’ni shartimizda faqat bitta o‘zgaruvchiga yozish
amalga oshirilganda, ternar operator orqali
qisqaroq yechim mavjud.
Uning sintaksisi quyidagicha:
<?php
$variable = $shart ? $qiymat1 : $qiymat2;
?>
Operator shunday ishlaydi: agar shart rost bo‘lsa,
$qiymat1 qaytariladi, aks holda -
$qiymat2. Keling, dars boshida keltirilgan
kodni ternar operator orqali qayta yozamiz:
<?php
$age = 17;
$adult = $age >= 18 ? true: false;
var_dump($adult);
?>
Aytgancha, natijani o‘zgaruvchiga yozmasdan, darhol
var_dump orqali chiqarish mumkin:
<?php
$age = 17;
var_dump( $age >= 18 ? true: false );
?>
Ternar operatordan faqat eng oddiy hollarda foydalanish kerak, chunki uning ishlatilishi kodni tushunishni qiyinlashtiradi.
Faraz qilaylik, $num o‘zgaruvchisi berilgan bo‘lib,
manfiy ham, musbat ham bo‘lishi mumkin. $num o‘zgaruvchisi
noldan katta yoki teng bo‘lsa, $res o‘zgaruvchisiga
1 sonini, $num o‘zgaruvchisi noldan kichik
bo‘lsa, -1 sonini yozing.