Controlestructuren met arrays
opmerking : Ik heb de gewoonte om de operator . te vervangen door , in mijn strings zoals je uit onderstaande voorbeelden zult kunnen vernemen. Meestal wordt dit echter niet gedaan maar het is niet fout. De output is dan ook dezelfde. (, werkt alleen met echo ! niet met print)
Code (php)
Voor ik begin met het loopen van de arrays wil ik nog vlug even tonen hoe je de waarden uit arrays kunt ophalen al hoewel dit zou moeten duidelijk zijn uit de voorbeelden bij de controlestructuren.
Code (php)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
// definiëren van de array
$array_1 = array( 'voornaam' => 'thomas' , 'achternaam' => 'verbeke' , 'leeftijd' => 16 , 'beroep' => 'student');
// de gegevens uit de array halen a.d.h.v. foreach () (manier 1) (#1)
foreach ($array_1 as $user_gegevens) {
echo $user_gegevens, "<br>";
}
// html tags voor white space
echo "<br><br>";
// de gegevens uit de array halen a.d.h.v. foreach () (manier 2) (#2)
foreach ($array_1 as $user_id => $user_gegevens) {
echo $user_id, ": " ,$user_gegevens, "<br>";
}
?>
// definiëren van de array
$array_1 = array( 'voornaam' => 'thomas' , 'achternaam' => 'verbeke' , 'leeftijd' => 16 , 'beroep' => 'student');
// de gegevens uit de array halen a.d.h.v. foreach () (manier 1) (#1)
foreach ($array_1 as $user_gegevens) {
echo $user_gegevens, "<br>";
}
// html tags voor white space
echo "<br><br>";
// de gegevens uit de array halen a.d.h.v. foreach () (manier 2) (#2)
foreach ($array_1 as $user_id => $user_gegevens) {
echo $user_id, ": " ,$user_gegevens, "<br>";
}
?>
Eerst wil ik het hebben over de meest gebruikte controle structuur en dat is natuurlijk foreach. Deze zal één voor één alle elementen uit een array halen. Een ander voordeel is dat deze constructie voor zowel geïndexeerde arrays werkt als voor associatieve arrays. (foreach is uitsluitend voor arrays).
Foreach voert een expressie uit voor elk element in de array die u opgeeft met $array_1 in dit geval. Bij elke iteratie (herhaling) is de waarde van het huidige element in de array beschikbaar in een variabele met de naam $waarde. Het verschil tussen de eerste en de tweede variant is dat bij de tweede variant ook de index of key van het huidige element beschikbaar is in de variabele die u instelt met $user_gegevens of $user_id en $user_gegevens. $user_id en $user_gegevens zijn dus 2 variabelen die u zelf kiest. Als je niet begrijpt wat ik bedoel dan moet je maar eens goed kijken naar de code en de output in je browser.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
// output uit voorbeeld #1
thomas
verbeke
16
student
// output uit voorbeeld #2
voornaam: thomas
achternaam: verbeke
leeftijd: 16
beroep: student
thomas
verbeke
16
student
// output uit voorbeeld #2
voornaam: thomas
achternaam: verbeke
leeftijd: 16
beroep: student
Opmerking: ik zij hierboven dat een iteratie = herhaling maar dat is in feite onjuist. Als een lus 2 keer wordt uitgevoerd, zijn dat namelijk 2 iteraties en maar één herhaling.
Ik hoop dat deze uitleg over foreach duidelijk genoeg is anders moet je dit hier onder maar even melden en dan pas ik hem wel aan.
Een andere ook veelgebruikte controle structuur bij arrays is natuurlijk de zogenaamde for-loop. Deze telt tussen 2 waarden die jij opgeeft (meer info op php.net). Je kan dit echter alleen gebruiken voor een geïndexeerde array wat ook logisch is als je een beetje nadenkt. Als je al een for-loop hebt gebruikt dan zul je wel weten dat je moet opgeven wanneer de loop moet stoppen of met andere woorden vanaf welk getal word de loop beëindigd. Daarvoor gebruiken we de functie count ().
Code (php)
$num is gewoon een variabele ik had evengoed numElementen kunnen kiezen. De $i++ zorgt ervoor dat na elke lus $i met één wordt verhoogd. De output lijkt me logisch: thomas vincent, david, veronique.
De belangrijkste controle structuren die IK het meeste gebruik zijn uitgelegd. Je kunt me altijd een pm zenden voor aanvullende info.
« vorige pagina | volgende pagina »
Inhoudsopgave
- Inleiding
- Controlestructuren met arrays
- Associatieve arrays koppelen met foreach
- Meerdimensionale of Multidimensionele arrays
- Arrays resetten / wijzigen / toevoegen
- Allerlei functies met arrays (uitgebreid)