⊗ppPmCdTO 101 of 447 menu

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 рақамини ёзинг.

deplmsessv