While-statement https://youtu.be/OY5EP9G0AYc?t=19
We kunnen het programma dat van 20 terugtelt naar 1 en de resultaten daarna op het scherm toont, zo herschrijven dat er in plaats van een for-loop een while-statement wordt gebruikt. Het resultaat van het programma blijft hetzelfde. De code wordt:
<?php
$i = 21;
while($i>1) {
$i--;
echo "$i<br>";
}
?>
Je gebruikt while() vooral bij mysql, want daarmee kan je makkelijk records weergeven.
Daar komen verder in deze lessen serie weer op terug
While
De syntax van de while-loop ziet er als volgt uit:
<?php
while( statement )
{
// Doe iets
}
?>
Zolang aan statement voldaan wordt, zal de code in de loop, die wederom tussen accolades {} staat, telkens opnieuw uitgevoerd worden. Vaak wordt een while-loop in combinatie met een tellertje gebruikt, bijvoorbeeld om de getallen 1-10 weer te geven:
<?php
$i = 1;
while($i <= 10)
{
echo $i.' ';
//Valt het op?, in de eerdere code hebben we de min tekens gebruikt.
$i++;
}
?>
1 2 3 4 5 6 7 8 9 10
Deze code telt de waarde dus op.
De vertaling van dit stukje code is als volgt: 'Zolang $i kleiner dan of gelijk aan 10 is, echo $i en verhoog de waarde van $i met 1'. De uitdrukking $i++ zorgt er dus voor dat de waarde van $i met 1 opgehoogd wordt. Merk op de variabele $i al aangemaakt moet zijn voordat de while-loop begint, anders zal PHP het niet slikken.
For
Een tweede soort loop is de for-loop. Hoewel deze eigenlijk precies hetzelfde doet, is de syntax iets anders:
<?php
for( beginconditie ; statement ; increment )
{
// Doe iets
}
?>
In de beginconditie stel je de beginwaarden voor de loop in. Dit zou bijvoorbeeld het declareren van de variabele $i kunnen zijn, zoals we dat ook voor de while loop deden. Het statement is hetzelfde als bij de while-loop en het increment gedeelte bepaalt wat er na elke loop met de variabelen uit de beginconditie gebeurt.
Ook nu is het weer mogelijk om de getallen 1-10 te genereren:
//
For loop in php
<?php
for ($i = 0; $i < 10; $i++) {
echo $i."<br>";
}
?>
Deze constructie zou dezelfde vertaling hebben als het voorbeeld hiervoor, alleen zitten de verschillende onderdelen op een andere plaats. Zo vormt $i = 0 de beginconditie, is het statement hetzelfde als in de while-loop en vormt $i++ het increment gedeelte.