Skip to main content

For - Loops

In deze les gaan we kennismaken met loops in PHP. We leren wat een for-loop is en hoe we die in combinatie met arays kunnen toepassen.

For Loop

For loops komen alle programmeer talen voor. Een loop zorgt ervoor dat een stuk prgramma code X keer wordt uitgevoerd. De waarde van X hangt af van hoed e loop wordt geprammeerd. Eén van de meest gebruiken loops is de for loop.

In de for loop bepaal je in ieder geval een begin- en een eind waarde bijvoorbeeld 1 t/m 10. De loop wordt dan 10 x uitgevoerd. Bijvoorbeeld:

<?php
for($i=0; $i<10; $i++)
{
  echo "Hello<br>";
}
echo "Einde loop<br>";
?>

In de for loop staan drie statements:

$i=0; Dit is de beginwaarde van de index $i
$i<10; De loop gaat door zolang deze vergelijking true is
$i++; Na elke iteratie (uitvoering van de code in het blok van de loop) wordt dit uitgevoerd.
{ ....} Deze code hoort bij de loop en wordt X keer uitegevoerd.

Dit gebeurt er stap voor stap:

Itteratie Wat gebeurt er?
1 $i=0
  $i < 10 // als dit waar is voer dan de code uit anders ga door met de code na de loop
  $i++ // $i wordt nu 1
2 $i < 10 // nog steeds waar dus voer de code die bij de loop hoort nog een keer uit.
  $i++ //$i wordt nu 2
3 $i < 10 // nog steeds waar dus voer de code die bij de loop hoort nog een keer uit.
  $i++ //$i wordt nu 3
... ...
9 $i < 10 // nog steeds waar dus voer de code die bij de loop hoort nog een keer uit.
  $i++ //$i wordt nu 9
10 $i < 10 // NIET meer waar dus de code in de loop wordt niet meer uitgevoerd, de loop stopt!

Opdracht 1

Bepaal van elk van de volgende loops hoe vaak die wordt uitgevoerd.

for($i=0; $i<10; $i++)
for($i=1; $i<10; $i++)
for($i=0; $i<100; $i++)
for($i=1; $i<100; $i++)
for($k=0; $k<1; $k++)
for($k=1; $k<1; $k++)
for($i=10; $i>0; $i--)
for($i=10; $i>0; $i--)
for($i=10; $i<>4; $i--) // <> betekent 'ongelijk aan'
for($i=2; $i; $i--) // denk aan wanneer $i true of false is
for($i=0; $i>0; $i++)
for($i=1; $i>0; $i++)

Schrijf van elke regel op hoevaak de loop wordt uitgevoerd.

--

In de loop kun je ook gebruik maken van de index-variabele $i. Bijvoorbeeld:

<?php
for($i=1; $i<11; $i++) {
  echo $i . " * 7 = " . $i*7 . "<br>";
}
?>

$i wordt in deze code gebruikt om de tafel van 7 af te drukken.

Opdracht 2A2a

Verander de bovensstaande code zodat je ene tafel van x kan afdrukken. Maar een variabele $x en geef die voor de loop een waarde. De tafel van $x wordt afgedrukt.

Opdracht 2B2b

Maak nu een form en vraag de gebruiker welke tafel die wilt afdrukken. Zorg er dan voor dat deze tafel wordt afgedrukt.

Zet de code van het form en de code waarmee je de tafel afdrukt op je antwoordenblad.

--

We gaan nu arrays en loops combineren.

<?php
$color = array('white', 'green', 'red', 'purple', 'black', 'grey', 'orange', 'brown');

for($i=0; $i<7; $i++)
{
	echo $color[$i];
    echo "<br>";
}
?>

Er mist een item, zie je dat?

Opdracht 3a

Pas de code aan zodat je alle kleuren afdrukt.

Zet de regel code die je hebt aangepast op je antwoordenblad.

Opdracht 3b

Met het count() commando kon je tellen hoeveel elementen een array heeft. Gebruik het count() commando om te bepalen hoe veel keer de loop moet worden doorlopen. Op deze manier worden alle kleuren afgedrukt onafhankelijk van hoe het array $color er uit ziet.

Op te controleren of het werkt voeg je de kleur 'yellow' aan het array toe. Zonder verder wat aant e passen zouden nog steeds alle kleuren moeten worden afgedrukt. Klotp dat?

Zet de aangepaste code op je antwoordenblad.

--