While-statement

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.