Ternaire operator in PHP

Stel dat we de volgende code hebben, die controleert of een gebruiker al 18 jaar is of niet:

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

Zoals je ziet, is de if-else constructie alleen nodig om een bepaalde waarde in de variabele $adult te schrijven. Voor dergelijke taken, waarbij in de voorwaarde alleen één variabele wordt geschreven, bestaat er een kortere oplossing via de zogenaamde ternaire operator.

De syntaxis is als volgt:

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

De operator werkt als volgt: als de voorwaarde waar is, dan wordt value1 geretourneerd, anders - value2. Laten we de code die aan het begin van de les werd getoond, herschrijven met de ternaire operator:

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

Je kunt het resultaat trouwens niet in een variabele opslaan, maar direct uitvoeren via var_dump:

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

De ternaire operator mag alleen in de meest eenvoudige gevallen gebruikt worden, omdat het gebruik ervan het begrijpen van de code bemoeilijkt.

Задание 1

Stel dat een variabele $num is gegeven, die negatief of positief kan zijn. Sla in de variabele $res het getal 1 op, als de variabele $num groter is dan of gelijk is aan nul, en het getal -1, als de variabele $num kleiner is dan nul.