Βρώμικη ενότητα php. Συμπερίληψη αρχείων στην PHP με τη χρήση του include και της απαίτησης. Διαφορά μεταξύ στοιχείων ενότητας και άρθρου

Ένα άρθρο που εξερευνά το στοιχείο ενότητας HTML από την κατηγορία τομής.

Σκοπός του στοιχείου του τμήματος

Το στοιχείο ενότητας χρησιμοποιείται για τη δημιουργία μιας ενότητας σε ένα έγγραφο που ομαδοποιεί κάποιο περιεχόμενο θέματος. Για κάθε ενότητα του εγγράφου, θα πρέπει να αναφέρεται το όνομά του (θέμα). Αυτό γίνεται συνήθως με κεφαλίδες (στοιχεία h1-h6).

Επικεφαλίδα ενότητας

Περιεχόμενο ενότητας...

Τα στοιχεία τομής χρησιμοποιούνται συνήθως στις ακόλουθες περιπτώσεις:

  • για να επισημάνετε τμήματα μέσα σε μια ενότητα. Για παράδειγμα, για να επισημάνετε κεφάλαια σε ένα άρθρο, καρτέλες σε ένα παράθυρο διαλόγου, ενότητες σε μια διατριβή κ.λπ.
  • να ομαδοποιήσετε πολλές ενότητες σε μία θεματική ομάδα. Για παράδειγμα, για να ομαδοποιήσετε τα τελευταία νέα στον ιστότοπο, σχόλια σε ένα άρθρο κ.λπ.

Επομένως, το στοιχείο ενότητας θα πρέπει να χρησιμοποιείται μόνο για κάποιο περιεχόμενο εάν έχει επικεφαλίδα και αποτελεί μέρος κάποιου άλλου στοιχείου.

Χρησιμοποιώντας το στοιχείο ενότητας

Για παράδειγμα, εξετάστε ένα απόσπασμα κώδικα σελίδας που περιέχει ένα άρθρο με σχόλια. Κάθε ένα από τα σχόλια που δημοσιεύονται από τον χρήστη στη σελίδα περιέχει κάποιο πλήρες περιεχόμενο και επομένως μπορεί να θεωρηθεί στοιχείο άρθρου. Αλλά, ταυτόχρονα, όλα τα σχόλια αντιπροσωπεύουν μια συγκεκριμένη θεματική ομάδα και επομένως μπορούν να τοποθετηθούν στο στοιχείο ενότητας, δηλ. αυτό το στοιχείο θα ομαδοποιήσει όλα αυτά τα σχόλια στη σελίδα μαζί.

Τίτλος άρθρου

Σχόλια (1)

Επικεφαλίδα σχολίου

Κείμενο σχολίου...

Επικεφαλίδα σχολίου

Κείμενο σχολίου...

Τίτλος άρθρου Σχόλια Σχόλιο Τίτλος Τίτλος σχολίου

Για παράδειγμα, εξετάστε το ενδεχόμενο να χρησιμοποιήσετε στοιχεία ενότητας για να δημιουργήσετε ενότητες μέσα σε ένα στοιχείο άρθρου:

Τίτλος βιβλίου

Πρώτο κεφάλαιο

Κεφάλαιο δυο

Κεφάλαιο Τρίτο

Παράρτημα Α

Παράρτημα Β

Το παραπάνω παράδειγμα θα έχει το ακόλουθο περίγραμμα:

Τίτλος βιβλίου Κεφάλαιο Πρώτο Κεφάλαιο Δύο Κεφάλαιο Τρίτο Παράρτημα Α Παράρτημα Β

Περιορισμοί χρήσης του στοιχείου ενότητας

Το στοιχείο ενότητας στην HTML 5 δεν είναι ένα γενικό στοιχείο για την ομαδοποίηση περιεχομένου, π.χ. δεν πρέπει να χρησιμοποιείται για να τυλίξετε οποιοδήποτε περιεχόμενο σας αρέσει. Ο κύριος σκοπός του είναι να προσθέσει σημασιολογία στο έγγραφο και να δημιουργήσει το περίγραμμά του.

Όταν ένας συγγραφέας χρειάζεται να ομαδοποιήσει περιεχόμενο απλώς για να το διαμορφώσει ή να το χειριστεί σε JavaScript, το καλύτερο μέρος είναι να χρησιμοποιήσει το στοιχείο div. Το στοιχείο div, σε αντίθεση με το στοιχείο ενότητας, δεν προσθέτει σημασιολογία στο έγγραφο και δεν συμμετέχει στη δημιουργία του περιγράμματός του (περίγραμμα).

Διαφορά μεταξύ στοιχείων ενότητας και άρθρου

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

Αλλά πώς μπορεί ένας συγγραφέας να γνωρίζει τι είναι κάποιο περιεχόμενο σε μια σελίδα; Ας το δούμε αυτό χρησιμοποιώντας ένα παράδειγμα αποσπάσματος άρθρου. Ένα απόσπασμα είναι μέρος ενός άρθρου και επομένως ένα στοιχείο ενότητας πρέπει να χρησιμοποιηθεί για την ομαδοποίηση του περιεχομένου του. Αλλά το ίδιο απόσπασμα, που έχει ήδη αφεθεί ως σχόλιο, θα αντιπροσωπεύει κάτι ολόκληρο, ολοκληρωμένο. Επομένως, σε αυτό το πλαίσιο, το στοιχείο άρθρου μπορεί να χρησιμοποιηθεί για την ομαδοποίησή του. Αλλά, φυσικά, μπορεί κανείς να συλλογιστεί, και το αντίστροφο. Επομένως, ποιο στοιχείο να χρησιμοποιήσετε για την ομαδοποίηση του περιεχομένου εξαρτάται στις περισσότερες περιπτώσεις από την υποκειμενική σας γνώμη ως συγγραφέα. Αλλά το πιο σημαντικό πράγμα σε αυτή την προσέγγιση είναι να διατηρήσετε την επιλεγμένη θέση. Επομένως, όσο πιο συνεπής είναι ο συγγραφέας στη δημιουργία της δομής, τόσο περισσότερη λογική μπορεί να βάλει σε αυτήν.

Όταν δημιουργούμε ιστότοπους με αυτοεγγραφή (χωρίς τη χρήση πλαισίων, CMS και άλλα μοντέρνα πράγματα που απλοποιούν τη ζωή των προγραμματιστών ιστού), αντιμετωπίζουμε το πρόβλημα να κάνουμε αλλαγές στον ιστότοπο όταν υπάρχουν πολλές σελίδες.

Για να μην χρειάζεται να αλλάξουμε τα ίδια μέρη του ιστότοπου σε καθένα από τα αρχεία σελίδας, μπορούμε να χρησιμοποιήσουμε εύχρηστες οδηγίες PHP που μας επιτρέπουν να συμπεριλάβουμε αρχεία με τον απαραίτητο κώδικα σε όλες τις σελίδες με κυριολεκτικά μία γραμμή κώδικα. Στη συνέχεια, αλλάζοντας τα περιεχόμενα του αρχείου που περιλαμβάνεται, αλλάζουμε τον κώδικα σε όλες τις σελίδες του ιστότοπου. Βολικό, ανεξάρτητα από το πώς φαίνεστε.

Ας δούμε τώρα τρόπους σύνδεσης αρχείων με περισσότερες λεπτομέρειες:

Χρησιμοποιώντας συμπεριλαμβάνουν και απαιτούν

Δεν θα μπορείτε να βρείτε μια θεμελιώδη διαφορά μεταξύ αυτών των δύο οδηγιών με όλη σας την επιθυμία, αλλά υπάρχουν αποχρώσεις:

Εάν παρουσιαστεί σφάλμα κατά την εκτέλεση της εντολής ζήτησης, ο αναλυτής θα λάβει μια απάντηση μοιραίου σφάλματος και η εκτέλεση του κώδικα σελίδας θα σταματήσει, ενώ το include θα εκδώσει μόνο μια προειδοποίηση και η εκτέλεση του αρχείου θα συνεχιστεί (το αρχείο απλώς δεν θα συνδεθεί ).

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

Έχουμε τον minisite μας στον οποίο η κεφαλίδα και το υποσέλιδο είναι τα ίδια σε όλες τις σελίδες και το σώμα του εγγράφου αλλάζει.

Δημιουργούμε αρχεία header.php και footer.php στα οποία βάζουμε τον κώδικα που θα είναι ίδιος σε όλες τις σελίδες και στα αρχεία index.php και newpage.php θα συνδέσουμε τα στατικά μέρη. Ως αποτέλεσμα, παίρνουμε:

Περιεχόμενο Header.php

< header> < nav> < a href= "newpage1.php" title= "στοιχείο μενού" >στοιχείο μενού < a href= "newpage2.php" title= "στοιχείο μενού" >στοιχείο μενού < a href= "newpage3.php" title= "στοιχείο μενού" >στοιχείο μενού

Περιεχόμενο Footer.php

< footer> < p>Φτιαγμένο από εμάς

Περιεχόμενο άλλων σελίδων του ιστότοπου

Minisite

Πολλές χρήσιμες πληροφορίες

Ως αποτέλεσμα της φόρτωσης της σελίδας μας, λαμβάνουμε την παρακάτω εικόνα:

Όπως μπορούμε να δούμε, όλα λειτουργούν υπέροχα.

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

Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε την κεφαλίδα απαιτείται και το υποσέλιδο περιλαμβάνει. Το τι θα χρησιμοποιήσετε στους ιστότοπούς σας εξαρτάται από εσάς. Όπως ήδη αναφέρθηκε, δεν υπάρχει μεγάλη διαφορά μεταξύ τους. Εκτός αν το απαιτούμε θεωρείται κάπως αυστηρότερη δήλωση.

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

Χρησιμοποιώντας το include _once και το require _one

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

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

Οι προγραμματιστές χρησιμοποιούν συχνά τις δηλώσεις include_once και require_once για να εξαλείψουν την πιθανότητα τέτοιων προβλημάτων. Η αρχή λειτουργίας για αυτά είναι ακριβώς η ίδια όπως για το include με την απαίτηση, αλλά εάν το αρχείο σε μια τέτοια οδηγία έχει ήδη συνδεθεί με το δικό μας, τότε η επανασύνδεση δεν θα συμβεί.

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

Σε μια σημείωση

  • Για να διευκολυνθεί η διάκριση μεταξύ των αρχείων των σελίδων του ιστότοπου και των αρχείων των αποσπασμάτων τους, τα οποία συμπεριλαμβάνουμε σε αυτά, τα συνήθως περιλαμβανόμενα αρχεία προσθέτουν ένα μέρος στο όνομα. Λαμβάνοντας υπόψη αυτήν την προσέγγιση στο παράδειγμά μας, θα λάβαμε το αρχείο header.inc.php από το αρχείο header.php και ούτω καθεξής. Αυτή η προσέγγιση μπορεί να διευκολύνει την κατανόηση της δομής του ιστότοπου στο μέλλον.
  • Ο κώδικας από το αρχείο που συνδέουμε κληρονομεί το εύρος της γραμμής στην οποία είναι συνδεδεμένο. Το Tobish ακριβώς μέσα στη σελίδα θα έχει ένα καθολικό εύρος και μέσα σε μια συνάρτηση θα έχει ένα τοπικό.
  • Μπορούμε να χρησιμοποιήσουμε το include με την απαίτηση όπου θέλουμε. Ακόμα και μέσα σε σενάρια.

). Κάθε ετικέτα (Ενότητα)πρέπει να έχει ένα ζευγάρι (/ Ενότητα)... Οι απαιτούμενες παράμετροι είναι όνομακαι βρόχος... Το όνομα του βρόχου (τμήματος) μπορεί να είναι οποιοδήποτε όνομα που αποτελείται από γράμματα, αριθμούς και κάτω παύλες. Κύκλοι (Ενότητα)μπορούν να είναι ένθετα και τα ένθετα ονόματα (τμήμα) πρέπει να είναι μοναδικά μεταξύ τους. Μεταβλητός βρόχος(συνήθως ένας πίνακας τιμών) καθορίζει τον αριθμό των επαναλήψεων βρόχου. Κατά την εκτύπωση μεταβλητών μέσα σε μια ενότητα, το όνομα της ενότητας πρέπει να αναφέρεται δίπλα στο όνομα της μεταβλητής μέσα σε αγκύλες. (στην άλλη ενότητα)εκτελείται εάν η παράμετρος βρόχοςδεν περιέχει τιμές.

Όνομα χαρακτηριστικού Τύπου Επιτακτικός Προκαθορισμένο Περιγραφή
όνομα σειρά Ναί n / a Όνομα ενότητας
βρόχος μικτός Ναί n / a Μια τιμή που καθορίζει τον αριθμό των επαναλήψεων βρόχου.
αρχή ακέραιος αριθμός Οχι 0 Ο δείκτης της θέσης από την οποία θα ξεκινήσει ο βρόχος. Εάν η τιμή είναι αρνητική, τότε η αρχική θέση υπολογίζεται από το τέλος του πίνακα. Για παράδειγμα, εάν η μεταβλητή βρόχου έχει 7 στοιχεία και η τιμή του χαρακτηριστικού έναρξης είναι -2, τότε ο δείκτης έναρξης θα είναι 5. Οι μη έγκυρες τιμές (τιμές εκτός του πίνακα) περικόπτονται αυτόματα στην πλησιέστερη έγκυρη τιμή.
βήμα ακέραιος αριθμός Οχι 1 Η τιμή διασκελισμού που χρησιμοποιείται για τη διέλευση του πίνακα. Για παράδειγμα, το βήμα = 2 υποδεικνύει μια διέλευση του πίνακα από τα στοιχεία 0,2,4 ... Εάν το βήμα είναι αρνητικό, τότε ο πίνακας θα διασχιστεί προς την αντίθετη κατεύθυνση.
Μέγιστη ακέραιος αριθμός Οχι 1 Ο μέγιστος αριθμός επαναλήψεων βρόχου.
προβολή boolean Οχι αληθής Υποδεικνύει εάν θα εμφανιστεί αυτή η ενότητα ή όχι

Σημείωση

Ξεκινώντας με το Smarty 1.5.0, η σύνταξη για τις μεταβλητές ιδιοτήτων περιόδου λειτουργίας έχει αλλάξει από (% sectionname.varname%) σε ($ smarty.section.sectionname.varname). Η παλιά σύνταξη εξακολουθεί να υποστηρίζεται, αλλά θα δείτε μόνο παραδείγματα της νέας σύνταξης.

index χρησιμοποιείται για την εμφάνιση του τρέχοντος ευρετηρίου του πίνακα, ξεκινώντας από το μηδέν (ή από το χαρακτηριστικό έναρξης, εάν καθορίζεται) και αυξάνοντας κατά ένα (ή από την τιμή του χαρακτηριστικού βήματος, εάν καθορίζεται).

Τεχνική Σημείωση

Εάν τα χαρακτηριστικά step και start δεν έχουν καθοριστεί, τότε το ευρετήριο είναι το ίδιο με το χαρακτηριστικό ενότητας επανάληψης, με τη διαφορά ότι ξεκινά από το 0 αντί για το 1.

επανάληψη χρησιμοποιείται για την εμφάνιση του τρέχοντος αριθμού επανάληψης του βρόχου.

Σημείωση

Αυτή η τιμή είναι ανεξάρτητη από τις ιδιότητες έναρξης, βήματος και μέγιστου, σε αντίθεση με την ιδιότητα ευρετηρίου. Επίσης, οι επαναλήψεις ξεκινούν από το ένα, παρά από το μηδέν όπως οι δείκτες. Το rownum είναι συνώνυμο της ιδιότητας iteration, λειτουργούν με τον ίδιο τρόπο.

Παράδειγμα 7.38. επανάληψη ιδιότητας (τμήματος).

assign ("custid", $ id); ?> (όνομα ενότητας = βρόχος cu ​​= έναρξη $ custid = 5 βήμα = 2) επανάληψη = ($ smarty.section.cu.iteration) δείκτης = ($ smarty.section.cu.index) id = ($ custid)
(/ Ενότητα)

Το αποτέλεσμα αυτού του παραδείγματος:

Επανάληψη = 1 ευρετήριο = 5 id = 3005
επανάληψη = 2 ευρετήριο = 7 id = 3007
επανάληψη = 3 ευρετήριο = 9 id = 3009
επανάληψη = 4 ευρετήριο = 11 id = 3011
επανάληψη = 5 ευρετήριο = 13 id = 3013
επανάληψη = 6 ευρετήριο = 15 id = 3015

Αυτό το παράδειγμα χρησιμοποιεί την ιδιότητα iteration για να εκτυπώνει τον τίτλο του πίνακα κάθε πέντε γραμμές (χρήσεις (αν) με τον τελεστή mod).

(όνομα ενότητας = co loop = $ επαφές) (αν $ smarty.section.co.iteration% 5 == 1) (/ αν) (/ Ενότητα)
Όνομα>ΣπίτιΚύτταροΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
θέα ($ contacts.name) ($ contacts.home) ($ contacts.cell) ($ contacts.email)


Πίνακας περιεχομένων εγγράφων

1. συνάρτηση config_load

Σύνταξη:
(αρχείο config_load = "όνομα αρχείου")

Αυτή η συνάρτηση χρησιμοποιείται για τη φόρτωση μεταβλητών από αρχεία διαμόρφωσης σε ένα πρότυπο. Εκτός από το όνομα του φορτωμένου αρχείου, αυτή η συνάρτηση μπορεί να έχει πολλές πρόσθετες παραμέτρους. Για παράδειγμα, η παράμετρος ενότητας, η οποία καθορίζει το όνομα της ενότητας που θα φορτωθεί. Περισσότερες πληροφορίες για αυτές και άλλες παραμέτρους μπορείτε να λάβετε από την τεκμηρίωση Smarty.

Παράδειγμα:
(αρχείο config_load = "task.conf")

2. Λειτουργία λήψης

Σύνταξη:

(capture name = "block_name"
assign = "variable_name") ...
(/ πιάνω)

Αυτή η λειτουργία έχει σχεδιαστεί για να συλλέγει την έξοδο του προτύπου σε μια μεταβλητή αντί να την εμφανίζει στην οθόνη.

Οτιδήποτε μεταξύ (capture name = "varname") και (/ capture) θα γραφτεί σε μια μεταβλητή με το όνομα varname. Το περιεχόμενο που καταγράφεται με αυτόν τον τρόπο μπορεί να χρησιμοποιηθεί στο πρότυπο χρησιμοποιώντας την ειδική μεταβλητή $ smarty.capture.varname, όπου το varname είναι η τιμή που μεταβιβάζεται στο χαρακτηριστικό name της συνάρτησης καταγραφής. Εάν δεν έχει καθοριστεί όνομα μεταβλητής, θα χρησιμοποιηθεί το προεπιλεγμένο όνομα.

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

3. Λειτουργία τομής

Σύνταξη:

(όνομα ενότητας = "όνομα_τμήματος"
βρόχος = "variable_for_out_number_iterations"
[, start = "start_position_index"]
[, step = "step"] [, max = "maximum_iterations"]
[, show = "show_or_section"]) ...
(/ Ενότητα)

Το Section Section είναι ένας βρόχος για τη διέλευση στοιχείων πίνακα. Οι απαιτούμενες παράμετροι είναι το όνομα, το οποίο χρησιμοποιείται για τον ορισμό του ονόματος της ενότητας, και ο βρόχος, που είναι μια μεταβλητή που καθορίζει τον αριθμό των επαναλήψεων βρόχου.

Κατά κανόνα, ο βρόχος είναι μια μεταβλητή πίνακα και ο αριθμός των επαναλήψεων τμημάτων είναι ίσος με τον αριθμό των στοιχείων αυτού του πίνακα. Για να εμφανίσετε μια μεταβλητή μέσα σε έναν βρόχο, πρέπει να υποδείξετε το όνομα της ενότητας σε αγκύλες μετά το όνομα της μεταβλητής.

(όνομα ενότητας = βρόχος τέχνης = τίτλος $)

Τίτλος: ($ τίτλος)

(/ Ενότητα)

Παράδειγμα 15.8. Βρόχος για επανάληψη πάνω από στοιχεία πίνακα

4. Η συνάρτηση foreach

Σύνταξη:

(foreach from = "array_name"
item = "current_item_name")
... (/ για κάθε)

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

Οι βρόχοι Foreach είναι μια εναλλακτική λύση στους βρόχους τομής. Η συνάρτηση foreach λειτουργεί πολύ όπως ο βρόχος foreach της PHP.
(foreach from = $ άρθρα αντικείμενο = art)
Τίτλος: ($ art)

(/ για κάθε)

Παράδειγμα 15.9. Βρόχος Foreach

Οι βρόχοι Foreach έχουν τις δικές τους ιδιότητες. Μπορείτε να αποκτήσετε πρόσβαση σε αυτά με αυτόν τον τρόπο: ($ smarty.foreach.foreachname.varname), όπου το foreachname είναι το όνομα του βρόχου που καθορίζεται από την παράμετρο του ονόματός του και το varname είναι το όνομα της ιδιότητας.

5. Χειριστής if, elseif, else

Σύνταξη:

(αν έκφραση) action_block
(έκφραση elseif1) action_block1
(άλλο) action_block2
(/ αν)

Η ενέργεια τελεστή είναι σχεδόν η ίδια με τον τελεστή PHP εάν ... elseif ... else.

Οι ακόλουθοι τελεστές σύγκρισης μπορούν να χρησιμοποιηθούν σε εκφράσεις: eq, ne, neq, gt, lt, lte, le, gte, ge, είναι άρτιος, είναι περιττός, δεν είναι άρτιος, δεν είναι περιττός, όχι, mod, div από, ζυγός κατά, περιττό κατά, ==,! =,>,<, <=, >=. Κάθε ένα από αυτά πρέπει να διαχωρίζεται από τις περιβάλλουσες τιμές με κενά. Μπορείτε να χρησιμοποιήσετε παρενθέσεις σε εκφράσεις και να καλέσετε συναρτήσεις php.

(εάν $ name eq "Vasya")
Καλώς ήρθες Βάσια.
(elseif $ name eq "Petya")
Καλώς ήρθες Πέτια.
(αλλού)
Καλως ΗΡΘΑΤΕ. Ποιος είσαι?
(/ αν)

Παράδειγμα 15.10. Αν, αλλιώς, αλλιώς δηλώσεις

(* αυτό το παράδειγμα δεν θα λειτουργήσει καθώς δεν υπάρχουν κενά γύρω από τους τελεστές σύγκρισης *)
(αν $ name == "Vasya" || $ name == "Petya")
...
(/ αν)
Παράδειγμα 15.11. Σπασμένο παράδειγμα