Ternārais operators PHP

Pieņemsim, ka mums ir šāds kods, kas pārbauda vai lietotjam jau ir sasniedzis 18 gadu vecumu vai nē:

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

Kā redzat, konstrukcija if-else vajadzīga tikai tam, lai ierakstītu noteiktu vērtību mainīgajā $adult. Šādiem uzdevumiem, kad mums nosacījumā notiek tikai viena mainīgā ierakstīšana, pastāv īsāks risinājums, izmantojot tā saukto ternāro operatoru.

Tā sintakse ir šāda:

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

Operators darbojas šādi: ja nosacījums ir patiess, tad tiek atgriezta value1, pretējā gadījumā - value2. Pārrakstīsim nodarbības sākumā doto kodu, izmantojot ternāro operatoru:

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

Starp citu, var neierakstīt rezultātu mainīgajā, bet uzreiz izvadīt caur var_dump:

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

Ternāro operatoru vajadzētu izmantot tikai vienkāršākajos gadījumos, jo tā izmantošana apgrūtina koda sapratni.

Задание 1

Pieņemsim, ka ir dots mainīgais $num, kas var būt vai nu negatīvs, vai pozitīvs. Ierakstiet mainīgajā $res skaitli 1, ja mainīgais $num ir lielāks vai vienāds ar nulli, un skaitli -1, ja mainīgais $num ir mazāks par nulli.