Hoofdstuk 6: Introductie tot Arrays

← Terug naar overzicht

Geindexeerde Arrays

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.

Oefening 1

Maak een array $namen met de waarden "Jan", "Piet" en "Klaas" (gebruik de korte [] syntax). Echo het eerste element van de array.

Jouw code:

Oefening 2

Maak een array $cijfers met de waarden 8, 6, 9, 7 en 5. Echo het derde element (index 2) van de array.

Jouw code:

Oefening 3

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

Jouw code:

Oefening 4

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

Jouw code:

Oefening 5

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.

Jouw code:

Oefening 6

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

Jouw code:

Oefening 7

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.

Jouw code:

Associatieve Arrays

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

Oefening 1

Maak een associatieve array $leerling met de keys "naam" (waarde "Sophie"), "leeftijd" (waarde 16) en "klas" (waarde "4VWO"). Echo de naam van de leerling.

Jouw code:

Oefening 2

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.

Jouw code:

Oefening 3

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.

Jouw code:

Oefening 4

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.

Jouw code:

Oefening 5

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().

Jouw code:

Oefening 6

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

Jouw code:

Oefening 7

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.

Jouw code:

Multidimensionale Arrays

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.

Oefening 1

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.

Jouw code:

Oefening 2

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

Jouw code:

Oefening 3

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

Jouw code:

Oefening 4

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.

Jouw code:

Oefening 5

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.

Jouw code:

Oefening 6

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.

Jouw code:

Oefening 7

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.

Jouw code:

Oefening 8

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

Jouw code:

Samenvatting

In dit hoofdstuk heb je geleerd: