PHP-loops: while, do-while, for en foreach uitgelegd

PHP-loops: while, do-while, for en foreach uitgelegd

In dit artikel leer je hoe je een reeks acties herhaalt met loops in PHP.

De verschillende soorten loops in PHP

Met loops voer je hetzelfde blok code keer op keer uit, zolang een bepaalde voorwaarde geldt. Het idee erachter is simpel: repetitieve taken in een programma automatiseren en zo tijd en moeite besparen. PHP kent vier soorten loops.

  • while – doorloopt een blok code zolang de opgegeven voorwaarde waar is.
  • do while – het blok code draait één keer, daarna wordt de voorwaarde geëvalueerd. Is die waar, dan wordt de instructie herhaald zolang de opgegeven voorwaarde waar blijft.
  • for – doorloopt een blok code tot de teller een bepaald getal bereikt.
  • foreach – doorloopt een blok code voor elk element van een array.

Aan het eind van dit hoofdstuk weet je ook hoe je de waarden van een array doorloopt met de loop php foreach. De loop php foreach werkt specifiek met arrays.

De PHP while-loop

Met de instructie php while doorloop je een blok code zolang de voorwaarde in de instructie php while als waar wordt geëvalueerd.

php while

php
while(condition){
    // Code om uit te voeren
}

Het voorbeeld hieronder zet een loop op die start met $i=1. De loop blijft draaien zolang $i kleiner dan of gelijk aan 3 is. $i gaat bij elke doorloop met 1 omhoog:

php while

php
$i = 1;
while($i <= 3){
    $i++;
    echo "Le nombre est " . $i . "<br>";
}

Resultaat:

Le nombre est 2
Le nombre est 3
Le nombre est 4

De PHP do while-loop

De php do while-loop is een variant op de while-loop die de voorwaarde aan het eind van elke iteratie evalueert. Bij een php do while-loop draait het blok code eerst één keer, en pas daarna wordt de voorwaarde geëvalueerd. Is die waar, dan wordt de instructie herhaald zolang de opgegeven voorwaarde als waar wordt geëvalueerd.

php while

php
do{
    // Code om uit te voeren
}
while(condition);

Het volgende voorbeeld zet een loop op die start met $i=1. Die verhoogt $i daarna met 1 en toont de uitvoer. Vervolgens wordt de voorwaarde geëvalueerd, en de loop blijft draaien zolang $i kleiner dan of gelijk aan 3 is.

php do while

php
$i = 1;
do{
    $i++;
    echo "The number is " . $i . "<br>";
}
while($i <= 3);

Resultaat:

Le nombre est 2
Le nombre est 3
Le nombre est 4

Verschil tussen de while- en de do while-loop

De loop php while verschilt op één belangrijk punt van de loop php do while: bij een php while-loop wordt de voorwaarde aan het begin van elke iteratie getest, dus als de conditionele expressie onwaar is, draait de loop nooit.

Bij een php do while-loop draait de loop daarentegen altijd één keer, ook als de conditionele expressie onwaar is, omdat de voorwaarde aan het eind van de iteratie wordt geëvalueerd in plaats van aan het begin.

De PHP for-loop

De loop php for herhaalt een blok code zolang een bepaalde voorwaarde geldt. Je gebruikt hem meestal om een blok code een vast aantal keren uit te voeren.

php for

php
for(initialisation; condition; incrementation){
    // Code om uit te voeren
}

De parameters van de loop php for betekenen het volgende:

  • initialisatie – dient om de tellervariabelen te initialiseren, en wordt zonder voorwaarde één keer geëvalueerd vóór de eerste uitvoering van het lichaam van de loop.
  • voorwaarde – aan het begin van elke iteratie wordt de voorwaarde geëvalueerd. Is die true, dan gaat de loop door en worden de geneste instructies uitgevoerd. Is die false, dan stopt de uitvoering van de loop.
  • increment – geeft de teller van de loop een nieuwe waarde. Hij wordt aan het eind van elke iteratie geëvalueerd.

Het voorbeeld hieronder zet een loop op die start met $i=1. De loop loopt door zolang $i kleiner dan of gelijk aan 3 is. De variabele $i gaat bij elke doorloop met 1 omhoog:

php for

php
for($i=1; $i<=3; $i++){
    echo "Le nombre est " . $i . "<br>";
}

Resultaat:

Le nombre est 2
Le nombre est 3
Le nombre est 4

De PHP foreach-loop

De loop php foreach dient om over arrays te itereren.

php foreach array

php
foreach($array as $value){
    // Code om uit te voeren
}

Het volgende voorbeeld toont een loop die de waarden van de gegeven array afdrukt:

php foreach array

php
$colors = array("Rouge", "Vert", "Bleu");

// Loop over de array met kleuren
foreach($colors as $value){
    echo $value . "<br>";
}

Resultaat:

Rouge
Vert
Bleu

Er bestaat nog een syntaxis voor de loop php foreach, een uitbreiding op de eerste.

php foreach key value

php
foreach($array as $key => $value){
    // Code om uit te voeren
}

php foreach key value

php
$superhero = array(
    "nom" => "Peter Parker",
    "email" => "peterparker@marvel.com",
    "âge" => 16
);

// Loop over de array met superhelden
foreach($superhero as $key => $value){
    echo $key . " : " . $value . "<br>";
}

Resultaat:

nom : Peter Parker
email : peterparker@mail.com
âge : 18

Conclusie

Hiermee zou je de loops onder de knie moeten hebben. Zoek je nog andere artikelen om je PHP-kennis bij te schaven, lees dan mijn artikel over het aanmaken en formatteren van datums in PHP en mijn php-tutorial over Laravel, met de basis om met een PHP-framework te werken.

PHP

Damien Flandrin Webdeveloper sinds 2010, maker van Gekkode en Email Impact. Elk artikel wordt vóór publicatie getest op een echt project. Contact
Nieuwsbrief

Nieuwe tests, tutorials en projecten, per e-mail.

Reproduceerbare tests, geversioneerde code, gedateerde resultaten. Nooit spam.