Ternarni operator v PHP

Recimo, da imamo naslednjo kodo, ki preverja ali je uporabnik star 18 let ali ne:

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

Kot lahko vidite, je konstrukcija if-else potrebna samo zato, da zapišemo določeno vrednost v spremenljivko $adult. Za takšne naloge, ko se v pogoju zgodi samo zapis ene spremenljivke, obstaja bolj kratka rešitev s pomočjo tako imenovanega ternarnega operatorja.

Njegova sintaksa je naslednja:

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

Operator deluje tako: če je pogoj resničen, se vrne value1, v nasprotnem primeru - value2. Prepišimo kodo iz začetka lekcije s pomočjo ternarnega operatorja:

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

Mimogrede, rezultata ni treba zapisati v spremenljivko, ampak ga je mogoče takoj izpisati prek var_dump:

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

Ternarni operator je priporočljivo uporabljati samo v zelo preprostih primerih, saj njegova uporaba otežuje razumevanje kode.

Задание 1

Naj bo dana spremenljivka $num, ki je lahko negativna ali pozitivna. Zapišite v spremenljivko $res število 1, če je spremenljivka $num večja ali enaka nič, in število -1, če je spremenljivka $num manjša od nič.