Dit is de eenvoudigste vorm van een beslissing: als de conditie waar is wordt de code tussen { en } uitgevoerd, ofwel in dit geval: als $a > $b dan wordt de regel "a is groter dan b" geschreven. Als a niet groter is dan b, dan gebeurt er niks. if($a > $b) { echo "a is groter dan b"; } Dit voorbeeld laat zien dat je ook iets kunt doen als a niet groter is dan b, dat zet je dan tussen de {} haakjes na het 'else' statement: if($a > $b) { echo "a is groter dan b"; } else { echo "a is kleiner dan b of gelijk aan b"; }
if($huisnummer == 1) { echo "Hier woont mevrouw Jansen"; } elseif($huisnummer == 3) { echo "Hier woont de familie de Boer"; } elseif($huisnummer == 5) { echo "Dit is een spookhuis"; } else { echo "Dit huisnummer is onbekend"; }Met een switch ziet dat er veel overzichtelijker uit en het is bovendien efficienter omdat niet telkens de waarde van huisnummer hoeft te worden opgehaald en vergeleken:
switch($huisnummer) { case 1: echo "Hier woont mevrouw Jansen"; break; case 3: echo "Hier woont de familie de Boer"; break; case 5: echo "Dit is een spookhuis"; break; default: echo "Dit huisnummer is onbekend"; }
$teller = 0; while($teller < 10) { echo "teller: $teller<br>"; $teller++; }teller: 0
<?php $i=0; $eind=9; while($i <= $eind){ echo "<img src='hkulogo.php?index=$i'>\n"; $i++; } // while ?>
Het PHP-scriptje hkulogo.php dat het plaatje voorziet van een letter ziet er als volgt uit:
<?php header("Content-type: image/png"); $im = ImageCreateFromPNG ("hku.png"); // Open existing png-file $tc = ImageColorAllocate ($im, 255, 0, 0); // define drawing color for text $idx = $_GET['index']; // pull 'index' from the GET-array ImageChar($im, 5, 20, 20, $idx, $tc); // draw a character on top of the image ImagePNG($im); // create resulting image ImageDestroy($im); // free memory ?>
Hier vind je meer informatie over tekenen met PHP
$teller = 0; do { echo "teller: $teller<br>"; $teller++; } while($teller < 10)Teller: 0
Het verschil tussen while(){...} en do{...}while() zit erin dat de code binnen de {} haakjes van do{...}while() altijd minimaal 1 keer wordt uitgevoerd en bij while(){...} kan het ook gebeuren dat het helemaal niet wordt uitgevoerd. Dat ligt aan het punt waarop de beslissing wordt genomen om te stoppen met de loop, bij while(){...} is dat al aan het begin en bij do{...}while() pas aan het eind, dus wanneer de code al 1 keer is uitgevoerd.
Een veel voorkomende toepassing van 'for' is een teller te maken die een aantal waarden doorloopt:
for($teller = 0; $teller < 10; $teller++) { echo "teller: $teller<br>"; }
<?php $begin=1; $eind=9; for($i=$begin; $i<=$eind && $i<10; $i++){ echo "<img src='hkulogo.php?index=$i'>\n"; } ?>
$teller = 0; while($teller < 10) { echo "teller: $teller<br>"; $teller++; if($teller==5) break; }
teller: 0
teller: 1
teller: 2
teller: 3
teller: 4
$stad[0] = "Hilversum"; $stad[1] = "Amsterdam"; $stad[2] = "Utrecht"; foreach($stad as $s) echo "De volgende stad is... $s<br>";De volgende stad is... Hilversum