⊗ppPmCdWBC 84 of 447 menu

Μη Αυστηρή Σύγκριση Λογικών Τιμών στην PHP

Στο προηγούμενο παράδειγμα χρησιμοποίησα για τη σύγκριση τον τελεστή ===. Σε αυτήν την περίπτωση, η μεταβλητή μας συγκρινόταν για ισότητα με το true τόσο ως προς την τιμή, όσο και ως προς τον τύπο.

Στο πρόβλημά μας μπορούμε να χρησιμοποιήσουμε και τον τελεστή ==. Εάν στη μεταβλητή test υπάρχει πάντα μία από τις τιμές true ή false, τότε τίποτα δεν αλλάζει:

<?php $test = true; // εδώ γράφουμε είτε true, είτε false if ($test == true) { echo '+++'; } else { echo '---'; } ?>

Ωστόσο, εάν στη μεταβλητή $test μπορούν να εισαχθούν οποιεσδήποτε τιμές, τότε όλα γίνονται πολύ πιο περίπλοκα. Σε μια τέτοια περίπτωση, εάν στη μεταβλητή δεν υπάρχει λογική τιμή, τότε αυτή η τιμή θα μετατραπεί πρώτα σε boolean και μόνο μετά θα συγκριθεί.

Ας υποθέσουμε, για παράδειγμα, ότι στη μεταβλητή μας υπάρχει ο αριθμός 1. Σε αυτήν την περίπτωση, θα μετατραπεί πρώτα σε λογικό τύπο, δηλαδή σε true. Και στη συνέχεια θα πραγματοποιηθεί η σύγκριση:

<?php $test = 1; if ($test == true) { echo '+++'; // αυτό θα εκτελεστεί, αφού 1 == true είναι σωστό } else { echo '---'; } ?>

Ωστόσο, για παράδειγμα, ο αριθμός 0 μετατρέπεται σε false. Και η συνθήκη μας, ως αποτέλεσμα, θα είναι ψευδής:

<?php $test = 0; if ($test == true) { echo '+++'; } else { echo '---'; // αυτό θα εκτελεστεί, αφού 0 == true είναι ΛΑΘΟΣ } ?>

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

<?php $test = 1; if ($test == true) { echo '+++'; } else { echo '---'; } ?>

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

<?php $test = 0; if ($test == true) { echo '+++'; } else { echo '---'; } ?>

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

<?php $test = 1; if ($test == false) { echo '+++'; } else { echo '---'; } ?>

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

<?php $test = 1; if ($test != true) { echo '+++'; } else { echo '---'; } ?>

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

<?php $test = ''; if ($test == false) { echo '+++'; } else { echo '---'; } ?>

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

<?php if ($test == true) { echo '+++'; } else { echo '---'; } ?>
Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη