Ternarni operator u PHP

Pretpostavimo da imamo sledeći kod koji proverava da li korisnik ima 18 godina ili ne:

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

Kao što vidite, konstrukcija if-else je potrebna samo da bi se određena vrednost upisala u promenljivu $adult. Za ove zadatke, kada se u uslovu dešava samo upis jedne promenljive, postoji kraće rešenje pomoću takozvanog ternarnog operatora.

Njegova sintaksa je sledeća:

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

Operator radi na sledeći način: ako je uslov tačan, vraća se value1, u suprotnom slučaju - value2. Hajde da prepišemo kod dat na početku lekcije koristeći ternarni operator:

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

Usput, možete da ne upisujete rezultat u promenljivu, već da ga odmah prikažete pomoću var_dump:

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

Ternarni operator treba koristiti samo u najjednostavnijim slučajevima, jer njegova upotreba otežava razumevanje koda.

Задание 1

Neka je data promenljiva $num, koja može biti ili negativna ili pozitivna. Upisati u promenljivu $res broj 1, ako je promenljiva $num veća ili jednaka nuli, i broj -1, ako je promenljiva $num manja od nule.