PHPda ternar operatori
Faraz qilaylik, bizda foydalanuvchining 18 yoshga to‘lgan yoki yo‘qligini tekshiruvchi 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 shart bajarilganda faqat bitta o‘zgaruvchiga qiymat tayinlanadigan holatlarda, qisqaroq yechim – ternar operator mavjud.
Uning sintaksisi quyidagicha:
<?php
$ozgaruvchi = shart ? qiymat1 : qiymat2;
?>
Operator quyidagicha ishlaydi: agar shart rost bo‘lsa, qiymat1 qaytariladi, aks holda – qiymat2. Keling, darsning boshida keltirilgan kodni ternar operator yordamida qayta yozamiz:
<?php
$age = 17;
$adult = $age >= 18 ? true : false;
var_dump($adult);
?>
Aytgancha, natijani o‘zgaruvchiga yozmasdan, darhol var_dump orqali chiqarish ham mumkin.:
<?php
$age = 17;
var_dump( $age >= 18 ? true : false );
?>
Ternar operatorini faqat eng oddiy holatlarda ishlatish kerak, chunki uni qo‘llash kodni tushunishni qiyinlashtirishi mumkin.
№1
Berilgan `$num` o‘zgaruvchisi manfiy yoki musbat bo‘lishi mumkin. Agar `$num` noldan katta yoki teng bo‘lsa, `$res` o‘zgaruvchisiga `1` qiymatini yozing, aks holda `-1` qiymatini yozing.