2 Foreach loop
Wat ga je leren?
In deze les gaan we leren wat een foreach loop is en hoe je daarmee makkelijk dingen met een array kan doen. |
In de vorige les hebben we kennis gemaakt met arays. Als je iets met een array wilt doen dan kun je natuurlijk element voor element benaderen en (bijvoorbeeld) afdrukken:
echo myArray[0];
echo myArray[1];
echo myArray[2];
echo myArray[3];
echo myArray[4];
.....
Maar er zijn handigere methoden om iets met een array te doen. Daarvoor hebben we een loop.
Met een foreach loop kun je door een array heen lopen. Je kunt element voor element doorlopen.
Kijk naar het tweede gedeelte van de film (vanaf 4:49, het eerste gedeelte heb je in de vorige les al bekeken).
Er zijn meerdere soorten loops en daar gaan we nog een keer uitgebreid naar kijken. Voor nu kijken we eerst even naarde foreach loop. Deze is belangrijk om dat je die kunt gebruiken om door een array heen te lopen. Stel je wilt alle elementen van een array afdrukken.
Dat kan op deze manier:
$mijnArray=['maandag','dinsdag','woensdag','donderdag','vrijdag'];
echo $myArray[0];
echo "<br>";
echo $myArray[1];
echo "<br>";
echo $myArray[2];
echo "<br>";
echo $myArray[3];
echo "<br>";
echo $myArray[4];
echo "<br>";
Dit is alleen onhandig want stel dat we zaterdag en zondag toevoegen aan het array dan moeten we regels toevoegen om deze elementen af te drukken.
Dat kan dus handiger, kijk maar de volgende code.
$mijnArray=['maandag','dinsdag','woensdag','donderdag','vrijdag'];
foreach($mijnArray as $dag)
{
echo $dag;
echo "<br>";
}
Wow dat is korter, toch?
Hoe werkt dit?
- Op regel 3 staat: zet één-voor-één elk element uit het array $mijnArray in de variabele $day en voer de code uit die tussen de { en } staat.
- Op regel 4 begint het codeblok, dit is het begin van de code die voor elk element wordt uitgevoerd.
- Op regel 5 wordt de $dag afgedrukt. Dat wordt dus voor elk element van $mijnArray gedaan.
- Op regel 6 wordt er een nieuwe regel afgedrukt en ook dit wordt voor elk element van het array uitgevoerd.
- Op regel 7 wordt het codeblok afgesloten, dit is het einde van de loop.
Opdracht 2a
Maak een array met namen van klasgenoten. Zet in ieder geval 10 namen in het array. De namen zijn strings dus denk erom dat de namen tussen " moeten staan.
Druk de inhoud van het array af en zet op elke regel een naam. Gebruik dus een <br> na elke naam.
Inleveren
Lever de code in en gebruik de naam php202a-jouw-naam.php
Opdracht 2b
Zorg ervoor dat jouw eigen naam ook ergens in het array staat.
Zet in de foreach loop een if statement. Als de loop bij jouw naam is dan dan druk je een !-teken af.
Stel jij heet Omar, dan zou de if er zo uit zien:
if ($naam == "Omar") {
echo "!";
}
Zet dit in de loop en controleer of er alleen achter jouw eigen naam een ! wordt afgedrukt.
Let er dus op dat de complete if in het code blok van de loop komt te staan. Let er ook op dat in het voorbeeld $naam wordt gebruikt, het kan zijn dat jij in jouw loop voor een andere variabele naam hebt gekozen.
Inleveren
Lever de code in en gebruik de naam php202b-jouw-naam.php