Skip to main content

4 Complexe arrays

Stel je wilt elke dat de temperatuur drie maal opmeten. Een keer 's morgens, één keer 's middags en één keer 's avonds.

Je kunt dit dan opslaan in een array met drie elementen.

$metingen = [ 7, 12, 11 ];

Stel dat je van meerdere dagen de metingen wilt opslaan. Dan kun je een array van een array maken. Je maakt dan een array waarin arrays zitten die dan elk drie elementen hebben, bijvoorbeeld:

$metingenWeek=[ [14,11,12], [ 6,11,11], [7,12,14], [9,14,13], [10,15,13] , [11,15,14 ], [13,16,14] ];

Je hebt nu array met metingen van 7 dagen en elke dag heb je een array met drie metingen. Zo kun je zien dat de eerste dag de warmste ochtend had en dat de laatste dag de warmste middag had.

print_r()

Met de PHP function print_r() kan je een array afdrukken.

Stel voor dat je de temperatuur van de eerste dag (element 0!) van de ochtend wil afdrukken, hoe doe je dat dan?

echo $metingenWeek[0][0];

Stel wel willen het volgende afdrukken:

Dag 1:
's ochtendsdagdeel 14
's middagsdagdeel 11
's avondsdagdeel 12

Dag 2:
's ochtendsdagdeel 6
's middagsdagdeel 11
's avondsdagdeel 11

etc., etc.

We gaan nu twee loops maken. Een loop voor de dagen en dan voor elke dag een loop voor de dagdelen.

Laten we beginnen met de buitenste loop:

$metingenWeek=[ [14,11,12], [ 6,11,11], [7,12,14], [9,14,13], [10,15,13] , [11,15,14 ], [13,16,14] ];

$dagNummer=0;

foreach($metingenWeek as $dag) {
echo "Dag ".$dagNummer;dagNummer."<br>";
}

In $dag staat nu elke keer een array met drie elementen. Nu moeten we in de loop een nieuwe loop maken waarin we de temperatuur van de drie dagdelen afdrukken.

Dus in de loop zetten we een tweede loop, deze loop zit er als volgt uit.

foreach($dag as $dagDeel) {
echo " dagdeel: $dagDeel<br>";
}


Opdracht 4a

Test de code uit het voorbeeld uit. Het dagnummer blijft op 0 staan. Los dit op en zorg ervoor dat de 7 dagen worden afgedrukt.

Inleveren de aangepaste en geteste code in php02-04a-jouw-naam.php