Το πρόβλημα των αγκυλών σε βρόχους στην PHP
Παρόλο που στους βρόχους μπορούν να παραλειφθούν οι αγκύλες, δεν το συνιστώ καθόλου, καθώς τέτοιος κώδικας συχνά οδηγεί σε σφάλματα.
Ας δούμε ένα παράδειγμα. Ας υποθέσουμε ότι έχουμε τον ακόλουθο κώδικα:
<?php
for ($i = 0; $i <= 9; $i++)
echo $i; // θα εμφανίσει αριθμούς από 0 έως 9
?>
Θα κάνω μια μικρή διόρθωση στον παραπάνω κώδικα (βρείτε ποια) - και θα σταματήσει να λειτουργεί:
<?php
for ($i = 0; $i <= 9; $i++);
echo $i; // θα δώσει 10
?>
Λοιπόν, τι διόρθωσα;
Το πρόβλημα προέκυψε επειδή έβαλα
ερωτηματικό μετά την αγκύλη ) από
τον βρόχο. Σε αυτήν την περίπτωση θα προκύψει ένας αποκαλούμενος
βρόχος χωρίς σώμα: απλώς θα εκτελεστεί
εσωτερικά, και η επόμενη γραμμή δεν θα
ανήκει πλέον σε αυτόν. Επομένως, για την αποφυγή προβλημάτων,
συνιστώ πάντα να βάζετε αγκύλες
στους βρόχους.
Πείτε μου, ποιο θα είναι το αποτέλεσμα εκτέλεσης του ακόλουθου κώδικα:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem);
echo $elem;
?>