PHP да тернар оператори
Фарз қилайлик, бизда қуйидаги код мавжуд бўлиб, фойдаланувчининг
ёши 18га етган-етмаганини текширади:
<?php
$age = 17;
if ($age >= 18) {
$adult = true;
} else {
$adult = false;
}
var_dump($adult);
?>
Кўриб турганингиздек, if-else конструкцияси
фақат $adult ўзгарувчисига маълум бир қийматни
ёзиш учун зарур. Бундай вазифалар учун, қачонки шартда
фақат битта ўзгарувчига ёзиш амалга оширилса, қуйидаги
тернар оператори орқали қисқароқ ечим мавжуд.
Унинг синтаксиси қуйидагича:
<?php
variable = condition ? value1 : value2;
?>
Оператор шундай ишлайди: агар шарт рост бўлса,
value1 қайтарилади, акс ҳолда -
value2. Келтирилган кодни тернар оператори
орқали қайта ёзайлик:
<?php
$age = 17;
$adult = $age >= 18 ? true: false;
var_dump($adult);
?>
Айтайлик, натижани ўзгарувчига ёзмай, дарҳол
var_dump орқали чиқариш мумкин:
<?php
$age = 17;
var_dump( $age >= 18 ? true: false );
?>
Тернар операторини фақат энг содда ҳолатларда ишлатиш керак, чунки унинг ишлатилиши кодни тушунишни қийинлаштиради.
Фарз қилайлик, $num ўзгарувчиси берилган бўлиб,
у манфий ҳам, мусбат ҳам бўлиши мумкин. Агар $num
ўзгарувчиси нолдан катта ёки тенг бўлса, $res
ўзгарувчисига 1 рақамини, агар $num ўзгарувчиси
нолдан кичик бўлса, -1 рақамини ёзинг.