Operatorul ternar în PHP

Să presupunem că avem următorul cod care verifică dacă un utilizator are deja 18 ani sau nu:

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

După cum vedeți, construcția if-else este necesară doar pentru a scrie o anumită valoare în variabila $adult. Pentru astfel de sarcini, când în condiție are loc doar scrierea unei variabile, există o soluție mai scurtă prin așa-numitul operator ternar.

Sintaxa sa este următoarea:

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

Operatorul funcționează astfel: dacă condiția este adevărată, atunci este returnat value1, în caz contrar - value2. Să rescriem codul dat la începutul lecției folosind operatorul ternar:

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

Apropo, puteți să nu scrieți rezultatul în variabilă, ci să îl afișați imediat prin var_dump:

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

Operatorul ternar trebuie folosit doar în cele mai simple cazuri, deoarece utilizarea lui dificultă înțelegerea codului.

Задание 1

Să presupunem că este dată variabila $num, care poate fi fie negativă, fie pozitivă. Scrieți în variabila $res numărul 1, dacă variabila $num este mai mare sau egală cu zero, și numărul -1, dacă variabila $num este mai mică decât zero.