Συντομευμένο if στη δομή if-else
Ας υποθέσουμε, για παράδειγμα, ότι θέλουμε να μάθουμε αν
η μεταβλητή $test ισούται με την τιμή true.
Σε αυτή την περίπτωση, η δομή if μπορεί
να γραφτεί ως εξής:
<?php
$test = true;
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
Στον προγραμματισμό, τέτοιοι έλεγχοι απαιτούνται
πολύ συχνά, επομένως για αυτούς υπάρχει μια πιο
καλαίσθητη συντομευμένη μορφή: αντί για if ($test
== true) μπορούμε να γράψουμε απλά if
($test).
Ας ξαναγράψουμε τον κώδικά μας σε συντομευμένη μορφή:
<?php
$test = true;
if ($test) { // ισοδύναμο με if ($test == true)
echo '+++';
} else {
echo '---';
}
?>
Ας υποθέσουμε τώρα ότι ελέγχουμε ότι η μεταβλητή
$test δεν ισούται με true:
<?php
$test = true;
if ($test != true) {
echo '+++';
} else {
echo '---';
}
?>
Σε αυτή την περίπτωση, ο συντομευμένος σύνταξη θα μοιάζει με αυτό:
<?php
$test = true;
if (!$test) { // χρησιμοποιούμε τη λογική ΟΧΙ
echo '+++';
} else {
echo '---';
}
?>
Παρόμοια συντομογραφία υπάρχει και για τον έλεγχο
της false. Ας υποθέσουμε ότι δίνεται ο ακόλουθος κώδικας:
<?php
$test = true;
if ($test == false) {
echo '+++';
} else {
echo '---';
}
?>
Η συνθήκη $test == false στην πραγματικότητα
ισοδυναμεί με $test != true:
<?php
$test = true;
if ($test != true) { // ισοδύναμο με if ($test == false)
echo '+++';
} else {
echo '---';
}
?>
Λοιπόν, και μια τέτοια συνθήκη έχουμε ήδη μάθει να τη συντομεύουμε στο προηγούμενο παράδειγμα. Ας το συντομεύσουμε:
<?php
$test = true;
if (!$test) {
echo '+++';
} else {
echo '---';
}
?>
Ξαναγράψτε τον ακόλουθο κώδικα χρησιμοποιώντας συντομευμένη σύγκριση:
<?php
$test = true;
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
Ξαναγράψτε τον ακόλουθο κώδικα χρησιμοποιώντας συντομευμένη σύγκριση:
<?php
$test = true;
if ($test == false) {
echo '+++';
} else {
echo '---';
}
?>
Ξαναγράψτε τον ακόλουθο κώδικα χρησιμοποιώντας συντομευμένη σύγκριση:
<?php
$test = true;
if ($test != true) {
echo '+++';
} else {
echo '---';
}
?>
Ξαναγράψτε τον ακόλουθο κώδικα χρησιμοποιώντας συντομευμένη σύγκριση:
<?php
$test = true;
if ($test != false) {
echo '+++';
} else {
echo '---';
}
?>