Ο Τριαδικός Τελεστής στην PHP
Ας υποθέσουμε ότι έχουμε τον ακόλουθο κώδικα, ο οποίος ελέγχει
αν ο χρήστης είναι 18 ετών ή όχι:
<?php
$age = 17;
if ($age >= 18) {
$adult = true;
} else {
$adult = false;
}
var_dump($adult);
?>
Όπως βλέπετε, η δομή if-else
χρειάζεται μόνο για να γράψει μια συγκεκριμένη
τιμή στη μεταβλητή $adult. Για
τέτοιες εργασίες, όπου στη συνθήκη συμβαίνει
μόνο η εγγραφή μιας μεταβλητής, υπάρχει
μια πιο σύντομη λύση μέσω του λεγόμενου
τριαδικού τελεστή.
Η σύνταξή του είναι η εξής:
<?php
$variable = $condition ? $value1 : $value2;
?>
Ο τελεστής λειτουργεί ως εξής: εάν η συνθήκη είναι αληθής,
τότε επιστρέφεται η value1, αλλιώς
- η value2. Ας ξαναγράψουμε
τον κώδικα που παρουσιάστηκε στην αρχή του μαθήματος χρησιμοποιώντας
τον τριαδικό τελεστή:
<?php
$age = 17;
$adult = $age >= 18 ? true : false;
var_dump($adult);
?>
Παρεμπιπτόντως, μπορείτε να μην γράψετε το αποτέλεσμα σε
μεταβλητή, αλλά να το εκτυπώσετε αμέσως μέσω της var_dump:
<?php
$age = 17;
var_dump( $age >= 18 ? true : false );
?>
Ο τριαδικός τελεστής πρέπει να χρησιμοποιείται μόνο σε τις πιο απλές περιπτώσεις, καθώς η χρήση του δυσκολεύει την κατανόηση του κώδικα.
Ας υποθέσουμε ότι δίνεται μια μεταβλητή $num, η οποία
μπορεί να είναι είτε αρνητική είτε θετική.
Γράψτε στη μεταβλητή $res τον αριθμό
1, εάν η μεταβλητή $num είναι μεγαλύτερη
ή ίση με το μηδέν, και τον αριθμό -1, εάν η μεταβλητή
$num είναι μικρότερη από το μηδέν.