Operatore ternario in PHP

Supponiamo di avere il seguente codice, che verifica se un utente ha già 18 anni o meno:

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

Come puoi vedere, la struttura if-else è necessaria solo per assegnare un determinato valore alla variabile $adult. Per questo tipo di compiti, in cui una condizione determina solo l'assegnazione di un valore a una variabile, esiste una soluzione più breve tramite il cosiddetto operatore ternario.

La sua sintassi è la seguente:

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

L'operatore funziona così: se la condizione è vera, viene restituito value1, altrimenti viene restituito value2. Riscriviamo il codice presentato all'inizio della lezione utilizzando l'operatore ternario:

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

A proposito, invece di assegnare il risultato a una variabile, puoi stamparlo direttamente con var_dump:

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

L'operatore ternario dovrebbe essere utilizzato solo nei casi più semplici, poiché il suo utilizzo rende il codice meno leggibile.

Задание 1

Sia data una variabile $num, che può essere negativa o positiva. Assegna alla variabile $res il numero 1 se la variabile $num è maggiore o uguale a zero, e il numero -1 se la variabile $num è minore di zero.