PHP да тернар оператори

Фарз қилайлик, бизда қуйидаги код мавжуд бўлиб, фойдаланувчининг ёши 18га етган-етмаганини текширади:

php<?php
  $age = 17;
  
  if ($age >= 18) {
    $adult = true;
  } else {
    $adult = false;
  }
  
  var_dump($adult);
?>

Кўриб турганингиздек, if-else конструкцияси фақат $adult ўзгарувчисига маълум бир қийматни ёзиш учун зарур. Бундай вазифалар учун, қачонки шартда фақат битта ўзгарувчига ёзиш амалга оширилса, қуйидаги тернар оператори орқали қисқароқ ечим мавжуд.

Унинг синтаксиси қуйидагича:

php<?php
  variable = condition ? value1 : value2;
?>

Оператор шундай ишлайди: агар шарт рост бўлса, value1 қайтарилади, акс ҳолда - value2. Келтирилган кодни тернар оператори орқали қайта ёзайлик:

php<?php
  $age = 17;
  $adult = $age >= 18 ? true: false;
  var_dump($adult);
?>

Айтайлик, натижани ўзгарувчига ёзмай, дарҳол var_dump орқали чиқариш мумкин:

php<?php
  $age = 17;
  var_dump( $age >= 18 ? true: false );
?>

Тернар операторини фақат энг содда ҳолатларда ишлатиш керак, чунки унинг ишлатилиши кодни тушунишни қийинлаштиради.

Задание 1

Фарз қилайлик, $num ўзгарувчиси берилган бўлиб, у манфий ҳам, мусбат ҳам бўлиши мумкин. Агар $num ўзгарувчиси нолдан катта ёки тенг бўлса, $res ўзгарувчисига 1 рақамини, агар $num ўзгарувчиси нолдан кичик бўлса, -1 рақамини ёзинг.