2.9 Controlestructuren
- if-statement
Het voorbeeld uit paragraaf 2.9 bevat een enkelvoudig if-statement met een else component.
Enkelvoudig statement (if of if-else) Meervoudige statements (if of if-else) if(expressie)
Statement;if(expressie) {
Statement;
Statement;
}if(expressie)
Statement;
else
Statement;if(expressie) {
Statement;
Statement;
}
else {
Statement;
Statement;
}Na de expressie (voorwaarde) volgt ofwel een enkelvoudig statement of een opeenvolging van statements tussen accolades geplaatst. Zorg er wel voor dat elk statement wordt afgesloten met een puntkomma. Plaats echter geen puntkomma na het sluithaakje van de voorwaarde en ook niet na de else. De regels die hier gelden zijn ook van toepassing op de volgende structuren
- De for-loop
Enkelvoudig statement (for) Meervoudige statements (for) for( initialisatie; test; ophoging/verlaging)
Statement;for( initialisatie; test; ophoging/verlaging) {
Statement;
Statement;
etc.
}Voorbeeld van een for-loop:
$namen = array("Marja","Hans","Ronald","René","Louis","Piet");
Wil je nu alle namen uit de array in één keer onder elkaar in een genummerde lijst in een webpagina plaatsen, kun je de volgende gebruiken:
<html> <head> <title>Weergeven van namen met een for-loop</title> </head> <body> <?php /* Deze loop zal alle namen van de array in een genummerde lijst onder elkaar op het scherm zetten. */ $namen = array("Marja","Hans","Ronald","René","Louis","Piet"); print("In de array zitten de volgende namen:<br>"); print("<ol>"); for($i = 0; $i < count($namen); $i++) print ( "<li><h4>$namen[$i]</h4></li>" ); print("</ol>"); ?> </body> </html>
Als je het script uitvoert, krijg je het volgende te zien:
- De while-loop
Enkelvoudig statement (while) Meervoudige statements (while) while(test)
Statement;while(test) {
Statement;
Statement;
etc.
}Voorbeeld van de array met namen maar nu middels een while-loop
<html> <head> <title>Weergeven van namen met een while-loop</title> </head> <body> <?php /* Deze loop zal alle namen van de array in een genummerde lijst onder elkaar op het scherm zetten. */ $namen = array("Marja", "Hans", "Ronald", "René" ,"Louis" , "Piet"); print("In de array zitten de volgende namen:<br>"); print("<ol>"); $i = 0; // initialisatie om eerste element uit array weer te geven while($i < count($namen) { print ( "<li><h4>$namen[$i]</h4></li>" ); $i++; } print("</ol>"); ?> </body> </html>
- De switch
Als er een keuze gemaakt kan worden uit meerdere opties is het handig om een switch te gebruiken. Stel je wilt je website verschillende achtergrondkleuren laten krijgen, dan kun je dat o.a. door een switch doen. De code voor die switch ziet er dan bijvoorbeeld als volgt uit:
<?php $achtergrondkleur = $_POST['achtergrondkleur']; switch($achtergrondkleur){ case "grijs": $achtergrondkleur = "#aaaaaa"; break; case"groen": $achtergrondkleur = "#aaffaa"; break; case"blauw": $achtergrondkleur = "#abcdef"; break; case"zalm": $achtergrondkleur = "#fedcba"; break; default: $achtergrondkleur = "white"; break; } ?>
De switch syntax werkt als volgt:
switch(input) { case voorwaarde 1: code die moet worden uitgevoerd als input = voorwaarde 1; break; case voorwaarde 2: code die moet worden uitgevoerd als input = voorwaarde 2; break; case etc. default: code die moet worden uitgevoerd als input ? alle cases; }
De input is meestal een variabele. Als aan een bepaalde voorwaarde is voldaan, wordt de code die daarachter staat uitgevoerd en de switch via de break verlaten. Als aan geen der gestelde voorwaarden wordt voldaan, wordt de code uitgevoerd die achter default staat.