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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$voorbeeld_1
= 'peren';
$voorbeeld_2 = 'bananen';
// mijn manier
echo $voorbeeld_1, ' en ', $voorbeeld_2, ' zijn beide strings <br>';
// de meest gebruikte manier
echo $voorbeeld_1 .' en '. $voorbeeld_2 .' zijn beide strings';
?>


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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$users
= array ( 1 => 'thomas' , 2 => 'david');
echo $users[1];   // output = thomas
print $users[2];   // output = david
echo $users[1], "<br>", $users[2], ': '; // met de , kan je " openen voor html

?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>";
}

?>


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)
PHP script in nieuw venster Selecteer het PHP script
1
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


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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$array_2
= array( 'thomas' , 'vincent' , 'david' , 'veronique' );
$num = count($array_2)

for ($i = 0 ; $i < $num ; $i++) {
    echo $array_2[$i] , "<br>";
}

?>


$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.

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Inleiding
  2. Controlestructuren met arrays
  3. Associatieve arrays koppelen met foreach
  4. Meerdimensionale of Multidimensionele arrays
  5. Arrays resetten / wijzigen / toevoegen
  6. Allerlei functies met arrays (uitgebreid)

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.