Een array is een variabele die meerdere waarden kan opslaan. In plaats van voor elke waarde een aparte variabele te maken, stop je ze allemaal in een array. Elke waarde heeft een index (positie), die begint bij 0.
<?php
// Twee manieren om een array te maken:
$kleuren = array("rood", "groen", "blauw");
$fruits = ["appel", "banaan", "kers"]; // kortere schrijfwijze
echo $kleuren[0]; // toont: rood
echo $fruits[2]; // toont: kers
// Waarde toevoegen aan het einde:
$kleuren[] = "geel";
?>
Array-indexen beginnen altijd bij 0 in PHP! Het eerste element heeft index 0, het tweede index 1, enzovoort. Dit is hetzelfde als in JavaScript.
Maak een array $namen met de waarden "Jan", "Piet" en "Klaas" (gebruik de korte [] syntax). Echo het eerste element van de array.
Maak een array $cijfers met de waarden 8, 6, 9, 7 en 5. Echo het derde element (index 2) van de array.
Maak een array $studenten met "Lisa", "Tom" en "Sara". Voeg "Max" toe aan het einde van de array met $studenten[] = "Max". Echo daarna het laatste element (index 3).
Maak een array $team met 4 namen naar keuze. Gebruik count() om het aantal elementen te tellen. Echo "Het team heeft " gevolgd door het aantal en " leden".
Maak een array $getallen met de waarden 10, 20, 30, 40 en 50. Wijzig het element op index 2 naar 99. Echo daarna alle elementen met een for-lus (gebruik count() als bovengrens), elk gevolgd door een spatie.
Maak een array $studenten met "Emma", "Liam", "Noah", "Olivia" en "Lucas". Echo een HTML-lijst: begin met "<ul>", loop door de array met een for-lus en echo elk element in <li> tags, en sluit af met "</ul>".
Maak een array $temperaturen met de waarden 18, 22, 15, 25, 20, 17. Bereken het gemiddelde. Maak een variabele $som op 0, tel alle waarden op met een for-lus, en deel door count($temperaturen). Echo "Gemiddelde temperatuur: " gevolgd door het gemiddelde.
Een associatieve array gebruikt keys (sleutels) in plaats van nummers als index. Dit werkt vergelijkbaar met objecten in JavaScript. Elke key verwijst naar een value (waarde).
<?php
$product = [
"naam" => "Laptop",
"prijs" => 899.99,
"voorraad" => 15
];
echo $product["naam"]; // toont: Laptop
echo $product["prijs"]; // toont: 899.99
?>
De => operator (fat arrow) koppelt een key aan een value. Je leest "naam" => "Laptop" als: "de sleutel 'naam' heeft de waarde 'Laptop'".
In JavaScript gebruik je objecten met {naam: "Laptop"}. In PHP gebruik je associatieve arrays met ["naam" => "Laptop"]. De syntax is anders, maar het concept is hetzelfde: data opslaan met een naam (key) in plaats van een nummer (index).
Maak een associatieve array $leerling met de keys "naam" (waarde "Sophie"), "leeftijd" (waarde 16) en "klas" (waarde "4VWO"). Echo de naam van de leerling.
Maak een associatieve array $product met "naam" => "T-Shirt", "prijs" => 29.95 en "voorraad" => 50. Echo "Product: " gevolgd door de naam, dan " - Prijs: EUR " gevolgd door de prijs.
Maak een associatieve array $auto met "merk" => "Toyota", "model" => "Corolla", "bouwjaar" => 2022 en "kleur" => "zilver". Wijzig de kleur naar "blauw". Echo daarna "De " gevolgd door het merk, een spatie, het model, " is " en de kleur.
Maak een associatieve array $voorraad met: "appels" => 25, "bananen" => 0, "sinaasappels" => 12. Controleer of de voorraad bananen gelijk is aan 0. Zo ja, echo "Bananen zijn uitverkocht!". Zo nee, echo "Bananen op voorraad: " gevolgd door het aantal.
Maak een associatieve array $scores met "wiskunde" => 85, "engels" => 72, "nederlands" => 91 en "biologie" => 68. Voeg een nieuw vak toe: "informatica" met waarde 95. Echo het totaal aantal vakken met count().
Maak een associatieve array $winkel met "naam" => "TechShop", "stad" => "Amsterdam" en "openSinds" => 2015. Bereken hoe lang de winkel bestaat (het huidige jaar is 2026). Echo "TechShop bestaat al " gevolgd door het aantal jaren en " jaar".
Maak een associatieve array $product met "naam" => "Sneakers", "prijs" => 89.99, "voorraad" => 30 en "categorie" => "Schoenen". Echo een mooie productkaart in HTML: een <h3> met de naam, een <p> met "Prijs: EUR " en de prijs, en een <p> met "Voorraad: " en het aantal stuks.
Een multidimensionale array is een array die andere arrays bevat. Dit is ideaal voor het opslaan van lijsten met records, zoals een lijst studenten met hun gegevens.
<?php
$studenten = [
["naam" => "Jan", "cijfer" => 7.5],
["naam" => "Lisa", "cijfer" => 8.2],
["naam" => "Tom", "cijfer" => 6.8]
];
echo $studenten[0]["naam"]; // toont: Jan
echo $studenten[1]["cijfer"]; // toont: 8.2
?>
Je gebruikt twee indices: de eerste voor het element in de buitenste array, de tweede voor de key in de binnenste array.
Maak een multidimensionale array $klas met twee leerlingen: de eerste heeft "naam" => "Eva" en "cijfer" => 8.0, de tweede heeft "naam" => "Daan" en "cijfer" => 6.5. Echo de naam van de eerste leerling.
Maak een multidimensionale array $producten met drie producten. Elk product heeft "naam", "prijs" en "voorraad". Gebruik: Laptop/999/10, Muis/25/100, Toetsenbord/75/45. Echo de prijs van de muis (tweede product).
Gebruik de $producten array uit de starter. Loop met een for-lus door alle producten en echo per product: de naam, " - EUR ", de prijs, gevolgd door <br>.
Maak een multidimensionale array $cijfers met drie leerlingen: Sophie (7.5), Ruben (8.0) en Mila (6.5), elk met "naam" en "cijfer". Loop door de array en echo per leerling de naam en het cijfer. Bereken ook het gemiddelde cijfer en echo dit na de lus als "<br>Gemiddelde: " gevolgd door het gemiddelde.
Maak een multidimensionale array $winkelwagen met drie producten (elk met "naam", "prijs" en "aantal"). Bereken de totaalprijs (prijs x aantal per product) en toon alles in een HTML-tabel. Echo "<table border='1'>", dan <tr><th>Product</th><th>Prijs</th><th>Aantal</th><th>Subtotaal</th></tr> als header. Loop door de producten en echo per product een tabelrij met naam, prijs, aantal en subtotaal. Echo na de tabel "<br>Totaal: EUR " gevolgd door het totaal.
Maak een multidimensionale array $leerlingen met vier leerlingen (elk met "naam" en "cijfer"). Loop door de array en echo alleen de leerlingen met een cijfer van 7.0 of hoger. Echo per leerling: de naam, " - ", het cijfer en " (voldoende)<br>". Tel ook hoeveel leerlingen voldoende hebben en echo dit aantal na de lus.
Maak een multidimensionale array $medewerkers met 4 medewerkers (elk met "naam", "afdeling" en "salaris"). Loop door de array en echo per medewerker alle gegevens. Bereken ook het totale salarisbudget en het gemiddelde salaris. Toon dit na de lus.
Maak een multidimensionale array $rooster met 3 dagen (elk met "dag" en "vakken", waarbij "vakken" zelf een geindexeerde array is). Bijvoorbeeld: maandag met ["Wiskunde", "Engels", "Gym"]. Loop door de dagen en echo per dag een <h3> met de dagnaam, gevolgd door een genummerde lijst van vakken (gebruik een binnenste for-lus).
In dit hoofdstuk heb je geleerd:
[] en elementen benaderen via index (startend bij 0)$array[] = waardecount()"key" => "value" paren