⊗ppPmCdBOP 93 of 447 menu

Το πρόβλημα της προαιρετικότητας των αγκυλών στις συνθήκες if στην PHP

Παρόλο που η PHP επιτρέπει τις παραπάνω συντομεύσεις με αγκύλες, γενικά δεν το συνιστώ, καθώς αποτερεί πηγή δυσνόητων σφαλμάτων.

Ας υποθέσουμε για παράδειγμα ότι υπάρχει το ακόλουθο κώδικα:

<?php $test = 3; if ($test > 0) echo $test; ?>

Ας υποθέσουμε τώρα ότι αποφασίσαμε, σε περίπτωση που η συνθήκη ικανοποιείται, να κάνουμε και μια δεύτερη echo:

<?php $test = 3; if ($test > 0) echo $test; echo '+++'; ?>

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

Ουσιαστικά, ο κώδικάς μας είναι ισοδύναμος με αυτόν:

<?php $test = 3; if ($test > 0) { echo $test; } echo '+++'; // αυτή η γραμμή βρέθηκε εκτός της συνθήκης ?>

Ενώ εμείς θα θέλαμε τον ακόλουθο κώδικα:

<?php $test = 3; if ($test > 0) { echo $test; echo '+++'; // αυτή η γραμμή είναι μέσα στη συνθήκη } ?>

Αυτός ακριβώς είναι ο λόγος για τον οποίο συνιστάται πάντα να τοποθετείτε αγκύλες, για να μην πέφτετε σε σφάλματα αυτού του είδους.

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

<?php $num = 5; if ($num === 5) echo $num; echo '+++'; ?>

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

<?php $num = 0; if ($num === 5) echo $num; echo '+++'; ?>

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

<?php $num = 0; if ($num === 5) echo $num; echo '---'; 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 για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη