Ternära operatorn i PHP

Låt oss säga att vi har följande kod som kontrollerar om användaren redan är 18 år gammal eller inte:

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

Som du ser behövs konstruktionen if-else bara för att skriva ett visst värde till variabeln $adult. För sådana uppgifter, när vårt villkor endast resulterar i att en variabel sätts, finns det ett kortare lösning genom den så kallade ternära operatorn.

Dess syntax är som följer:

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

Operatorn fungerar så här: om villkoret är sant, returneras value1, annars value2. Låt oss skriva om koden från början av lektionen med hjälp av den ternära operatorn:

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

Man kan förresten inte skriva resultatet till en variabel, utan omedelbart skriva ut det via var_dump:

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

Den ternära operatorn bör endast användas i de enklaste fallen, eftersom dess användning försvårar förståelsen av koden.

Задание 1

Låt en variabel $num ges, som kan vara antingen negativ eller positiv. Skriv till variabeln $res talet 1 om variabeln $num är större än eller lika med noll, och talet -1 om variabeln $num är mindre än noll.