Тернарни оператор у 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, која може бити или негативна или позитивна. Запишите у променљиву $res број 1, ако је променљива $num већа или једнака нули, и број -1, ако је променљива $num мања од нуле.