Skip to main content

5 Nog meer loops (for)

We hebben eerder gezien hoe we met een foreach loop door een array kunnen heen lopen.

We hebben ook loops die we kunnen gebruiken zonder dat we een array hebben.

Stel we willen de getallen 1,2,3,4,5,6,7,8,9,10 op het scherm zetten, dan kan dat ook met een loop.

for($i=1; $i<=10, $i=$i+1) {
  echo $i.", ";
}
Wat gebeurt hier?

Op regel 1 worden loop gemaakt. We gebruiken de variabele $i en zetten die op 1 ($i=1), dan zeggen we doe de loop zolang $i kleiner of gelijk is aan 10 en elke keer dat de volgende keer in de loop komen dan doen we $i = $i + 1 en we verhogen $i dus met 1.

Op regel 2 drukken we het resultaat af en op regel 4 sluiten we het codeblok dat deel van de loop uitmaakt.

Het is gebruikelijk om voor een for-loop de variabele $i te gebruiken.

Opdracht 5a

Je hebt 5 loops (a t/m e). Bedenk vooraf van elke loop wat jij denkt dat die doet. Schrijf dat in eigen woorden op.

Test daarna of je antwoorden kloppen en geef bij elke loop weer of je antwoord klopt. Als je antwoord niet klopt dan verbeter je je antwoord.

//loop A
for($i=1; $i<=20, $i=$i+1) {
  echo $i.", ";
}

//loop b
for($i=20; $i<30, $i=$i+1) {
  echo $i.", ";
}

//loop c
for($i=2; $i<100, $i=$i+2) {
  echo $i.", ";
}

//loop d
for($i=10; $i>0, $i=$i-1) {
  echo $i.", ";
}

//loop e
for($i=100; $i>0, $i=$i-2) {
  echo $i.", ";
}

Inleveren MS Word file (docx) waarin je het volgende beschrijft (de ingevulde tekst in een voorbeeld!).

//loop a
Deze loop begint bij 3 en wordt telkens 1 opgehoogd, de loop stop bij 10. Dus de output is 3,4,5,6,7,8,9,10

Nadat ik heb getest blijkt dat de 10 niet wordt afgedrukt dat komt omdat er <10 staat en niet <=10

//loop b

Deze loop .......

Ik heb getest en het antwoord klopt.

// loop c
 Deze loop.....

 Ik heb getest en ....

 // loop d
  Deze loop.....

 Ik heb getest en ....

 // loop e
  Deze loop .....

 Ik heb getest en ....

Inleveren php205a-jouw-naam.docx met de uitgewerkte opgaven.

Opdracht 5b

Je kunt een array ook met een for-loop doorlopen. Bestudeer de volgende code.

$myArray=[1,3,2];

foreach($myArray as $item) {
	echo $item;
 	echo "<br>";
}

for($i=0; $i<3; $i++) {
	echo $myArray[$i];
    echo "<br>";
}

Probeer de code uit en probeer te verklaren wat je ziet.

Maak code die het volgende array af drukt één keer met een foreach-loop en daarna met een for-loop.

$myColors['rood','paars','oranje','blauw','wit'];

Inleveren php205b-jouw-naam.docx met de uitgewerkte opgaven.

Opdracht 5c

Maak een loop (je mag zelf kiezen welke loop) waarin je alle getallen van 1 tot en met 100 optelt.

Jouw code druk op een getal af de som van 1+2+3+4+5+6+7+.....99+100.

Je kunt natuurlijk de volgende code inleveren:

echo 1+2+3+4+5+6+7+8+9+10+11+12;

En dan tot 100. Dat kan, maar stel dat ik nu vraag om alle getallen van 1 tot en met 10 000 op te tellen? Dan is dat bijna niet meer te doen. Je moet voor deze opdracht dan ook een loop gebruiken.

Als je niet weet hoe je dat aanpakt dan maak je dit probleem eerst eenvoudiger; je drukt eerst alle getallen 1 tot en met 100 af. Als dat gelukt is dan ga je al deze getallen bij elkaar op tellen.

Inleveren php205c-jouw-naam.docx met de uitgewerkte opgaven.