Ο Τριαδικός Τελεστής στην PHP

Ας υποθέσουμε ότι έχουμε τον ακόλουθο κώδικα, ο οποίος ελέγχει αν ο χρήστης είναι 18 ετών ή όχι:

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

Όπως βλέπετε, η δομή if-else χρειάζεται μόνο για να γράψει μια συγκεκριμένη τιμή στη μεταβλητή $adult. Για τέτοιες εργασίες, όπου στη συνθήκη συμβαίνει μόνο η εγγραφή μιας μεταβλητής, υπάρχει μια πιο σύντομη λύση μέσω του λεγόμενου τριαδικού τελεστή.

Η σύνταξή του είναι η εξής:

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

Ο τελεστής λειτουργεί ως εξής: εάν η συνθήκη είναι αληθής, τότε επιστρέφεται η value1, αλλιώς - η value2. Ας ξαναγράψουμε τον κώδικα που παρουσιάστηκε στην αρχή του μαθήματος χρησιμοποιώντας τον τριαδικό τελεστή:

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

Παρεμπιπτόντως, μπορείτε να μην γράψετε το αποτέλεσμα σε μεταβλητή, αλλά να το εκτυπώσετε αμέσως μέσω της var_dump:

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

Ο τριαδικός τελεστής πρέπει να χρησιμοποιείται μόνο σε τις πιο απλές περιπτώσεις, καθώς η χρήση του δυσκολεύει την κατανόηση του κώδικα.

Задание 1

Ας υποθέσουμε ότι δίνεται μια μεταβλητή $num, η οποία μπορεί να είναι είτε αρνητική είτε θετική. Γράψτε στη μεταβλητή $res τον αριθμό 1, εάν η μεταβλητή $num είναι μεγαλύτερη ή ίση με το μηδέν, και τον αριθμό -1, εάν η μεταβλητή $num είναι μικρότερη από το μηδέν.