Η εντολή while (όσο)

Ο απλούστερος βρόγχος στην php είναι η βρόγχος «while». Η σύνταξη του βασίζεται σε μια συνθήκη, παρόμοια με την εντολή «if». Η διαφορά τους είναι ότι η «if» εκτελεί μόνο μια φορά το τμήμα κώδικα που την αφορά, ενώ η «while» για όσο είναι αληθής η συνθήκη της.

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

Ο τρόπος σύνταξης έχει ως εξής: 

while(συνθήκη){
 ... εντολές που θα εκτελεστούν ...
}

Όπου «συνθήκη», η συνθήκη που θέλουμε για όσο ισχύει να επαναλαμβάνονται οι «... εντολές που θα εκτελεστούν ...».

Ας υποθέσουμε πως εισάγουμε έναν αριθμό και θέλουμε από το 1 έως και τον αριθμό που θα εισάγουμε, να τυπώσει κατά σειρά όλους τους αριθμούς.

<form method='get' action='numbers.php'>
 Εισάγετε έναν αριθμό: <input type='text' name='number'/>
 <br />
 <input type='submit' value='Αποστολή'/>
</form>
<?php
 $arithmos=$_GET['number'];
 $i=1;
 while($i<=$arithmos){
  echo $i."\n";
  $i++;
 }
?>

Η εντολή do while (κάνε, όσο)

Το «do-while» είναι ένα είδος βρόγχου το οποίο εκτελείται τουλάχιστον μία φορά πριν αρχίσει να επαναλαμβάνεται ελέγχοντας αν ισχύει η συνθήκη του. Αυτό γίνεται γιατί ο έλεγχος της συνθήκης γίνεται στο τέλος και όχι στην αρχή κάθε επανάληψης, επομένως εκτελείται τουλάχιστον μία φορά. Ο τρόπος σύνταξης έχει ως εξής:

do{
  ... Εντολές που εκτελούνται...
}while(συνθήκη);
  • Όπου «... Εντολές που εκτελούνται...» πηγαίνουν οι εντολές πού θέλουμε να εκτελεστούν τουλάχιστον μία φορά και ύστερα κατ’ επανάληψη,
  • Όπου «συνθήκη» πηγαίνει η συνθήκη που θέλουμε να ελέγξουμε στο τέλος, και ύστερα σε κάθε επανάληψη.
<form method='get' action='numbers.php'>
 Εισάγετε έναν αριθμό: <input type='text' name='number'/>
 <br />
 <input type='submit' value='Αποστολή'/>
</form>
<?php
 $arithmos=$_GET['number'];
 $i=1;
 do{
  echo $i."\n";
  $i++;
 }while($i<=$arithmos);
?>

Στο παραπάνω παράδειγμα, παρόλο που εισάγαμε 0 για αριθμό βάση του οποίου θα ξεκινήσει η μέτρηση, τυπώθηκε ο αριθμός «1» που σημαίνει ότι εκτελέσθηκε ο βρόγχος τουλάχιστον μία φορά χωρίς να λάβει υπόψη την συνθήκη.

Η εντολή for (για)

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

Η δομή επανάληψης «for» αναλαμβάνει να κάνει κάτι επαναλαμβανόμενα για όσο ισχύει κάποια συνθήκη, π.χ. όσο υπάρχουν χάπια στο κουτί, για τόσο ο ασθενής θα επαναλαμβάνει καθημερινή χορήγηση. Η σύνταξη της for έχει ως εξής: 

for(εντολή 1;συνθήκη;εντολή 2){
 // Εντολές που εκτελούνται σε κάθε επανάληψη
}
  • Όπου «εντολή 1» μια εντολή όπου εκτελείται μία φορά μόνο στην αρχή όταν πρώτο μπει το script στον βρόγχο. Εδώ συνήθως ορίζεται ένας μετρητής.
  • Όπου «συνθήκη» είναι η συνθήκη που θα ελέγχεται σε κάθε επανάληψη πριν μπει στην επανάληψη. Εδώ συνήθως ελέγχεται η τιμή του μετρητή.
  • Όπου «εντολή 2» είναι μια εντολή όπου εκτελείται σε κάθε τέλος της κάθε επανάληψης. Εδώ συνήθως αυξάνεται ή μειώνεται η τιμή του μετρητή.

Ας υποθέσουμε πως εισάγοντας δυο αριθμούς θέλουμε να υπολογίσουμε για τον πρώτο το αποτέλεσμα του υψωμένο στον δεύτερο.

<form method='get' action='power.php'>
 Εισάγετε τον αριθμό: <input type='text' name='num'/>
 <br />
 Εισάγετε την δύναμη: <input type='text' name='nump'/>
 <br />
 <input type='submit' value='Αποστολή'/>
</form>
<?php
 $arithmos = $_GET['num'];
 $dinami = $_GET['nump'];
 $result=1;
 for($i=1;$i<=$dinami;$i++){
  $result=$result*$arithmos;
 }
 echo "Το αποτέλεσμα της πράξης ".$arithmos."^".$dinami.", είναι: ".$result;
?>

Η εντολή foreach (για κάθε)

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

<?php
 $pinakas = array("Φασόλια","Μπρόκολο","Κουνουπίδι");
 
 foreach($pinakas as $value){
  echo $value."<br/>";
 }
 
 echo "<br/><hr/><br/>";
 
 foreach($pinakas as $key => $value){
  echo "Κλειδί =>".$key.", Τιμή: ".$value."<br/>";
 }
?>

Όπως παρατηρούμε υπάρχουν δυο αποτελέσματα καθότι δύο και τα «foreach» μας. Στο πρώτο «foreach» εκτελούμε διάσχιση του πίνακα «$pinakas» χωρίς να ζητάμε να δοθούν και τα κλειδιά μαζί με τις τιμές. Στο δεύτερο «foreach» ζητάμε αυτή την αλλαγή δίνοντας το κάθε κλειδί σε μια μεταβλητή «$key». Έτσι μπορούμε να χρησιμοποιήσουμε και τα δυο, κλειδί και τιμή, κατά την διάρκεια της διάσχισης. Αυτό χρησιμεύει ιδιαίτερα όταν το κλειδί δεν είναι αριθμημένη σειρά από το 0 έως το μήκος του πίνακα (μείον ένα), αλλά κείμενο όπως «όνομα», «επώνυμο», κτλ.