Home Ontwerp je site PHP Basiscursus PHP 8/12 : Arrays

Basiscursus PHP 8/12 : Arrays

Arrays betekenen lijsten. Je kan lijsten met gegevens opslaan in 1 handige variabele.

Numerieke arrays

De eerste soort arrays zijn numerieke arrays. De key (plaatsaanduiding in een array) is altijd een getal. De keys van een numerieke array beginnen altijd te tellen vanaf 0.

Voorbeeld

<?php
// ingeven van array-gegevens via de array()-functie
$boodschappenlijst = array("Boter", "Melk", "Eieren");
// ingeven van array-gegevens via de keys
$boodschappenlijst[0] = "Boter";
$boodschappenlijst[1] = "Melk";
$boodschappenlijst[2] = "Eieren";

foreach($boodschappenlijst as $item){
echo $item."<br />";
}

/* output:
Boter
Melk
Eieren
*/
?>

Bij dit voorbeeld maken we eerst een array via de array()-functie. Iedere parameter is een nieuwe waarde in een array. Op de tweede manier geven we de gegevens in door elke string een eigen plaats in de array te geven (a.d.h.v. de key). Als we dan via de foreach-statement (zie vorig deel) de array weergeven, toont hij ieder item van de array.

Associatieve arrays

De tweede soort arrays heten associatieve arrays. Deze soort arrays zijn handig om bv hoeveelheden bij te houden. We hernemen het voorbeeld van hierboven even.

Voorbeeld

<?php
// ingeven van array-gegevens via de array()-functie
$boodschappenlijst = array("Boter"=>"1 vlootje", "Melk"=>"2 liter", "Eieren"=>"12 eieren");
// ingeven van array-gegevens via de keys
$boodschappenlijst["Boter"] = "1 vlootje boter";
$boodschappenlijst["Melk"] = "2 liter melk";
$boodschappenlijst["Eieren"] = "12 eieren";

foreach($boodschappenlijst as $item){
echo $item."<br />";
}

/* output:
1 vlootje boter
2 liter melk
12 eieren
*/
?>

Het voordeel van associatieve arrays is dat we ons beter kunnen oriënteren bij arrays. Als we bv $boodschappenlijst["Boter"] willen bekijken, weten we dat het het aantal botervlootjes zal bevatten, wat bij $boodschappenlijst[0] niet het geval is.

Multidimensionale arrays

Multidimensionale arrays zijn nog handiger dan gewone arrays. Je hebt als het ware arrays binnenin een array. Een voorbeeldje maakt alles duidelijk:

Voorbeeld

<?php
// via de array()-functie
$boodschappenlijst = array(
 "Boter"=>array(
    "Bakboter"=>"1 vlootje bakboter",
    "Smeerboter"=>"1 vlootje smeerboter"),
 "Melk"=>array(
    "Magere melk"=>"1 liter magere melk",
    "Halfvolle melk"=>"2 liter halfvolle melk",
    "Volle melk"=>"3 liter volle melk"),
 "Eieren"=>array(
    "Scharreleieren"=>"3 scharreleieren",
    "Batterijeieren"=>"9 batterijeieren")
);
// ingeven via de keys
$boodschappenlijst["Boter"]["Bakboter"] = "1 vlootje bakboter";
$boodschappenlijst["Boter"]["Smeerboter"] = "1 vlootje smeerboter";
$boodschappenlijst["Melk"]["Magere melk"] = "1 liter magere melk";
$boodschappenlijst["Melk"]["Halfvolle melk"] = "2 liter halfvolle melk";
$boodschappenlijst["Melk"]["Volle melk"] = "3 liter volle melk";
$boodschappenlijst["Eieren"]["Scharreleieren"] = "3 scharreleieren";
$boodschappenlijst["Eieren"]["Batterijeieren"] = "9 batterijeieren";

echo $boodschappenlijst["Eieren"]["Scharreleieren"];
?>

Bij dit voorbeeld zie je hoe we de inhoud van arrays (lijsten) nog meer kunnen specifiëren. Via multidimensionale arrays kunnen we zo gehele lijsten opstellen, met de gegevens zo bij de hand. Als je bijvoorbeeld wil weten hoeveel scharreleieren je moet kopen, kan je echo $boodschappenlijst["Eieren"]["Scharreleieren"]; uitvoeren, en je ziet aan de code direct wat je juist weergeeft. Je kan nog steeds werken met numerieke keys, echo $boodschappenlijst[2][0];, maar hoe weet je nu wat je weergeeft?

Wat hebben we vandaag geleerd?

  1. Arrays zijn lijsten met gegevens
  2. Numerieke keys van arrays beginnen altijd met 0 en tellen zo op
  3. Associatieve arrays zijn makkelijker in gebruik dan numerieke arrays
  4. Multidimensionale arrays zijn gemakkelijk om veel gegevens te groeperen die met elkaar te maken hebben

Ga naar het volgende deel van de PHP basiscursus : Basiscursus PHP 9/12 : Functies


Auteur : Skwizz


5 + 8 =
 

GOOGLE adsense