PHP multidimensionale arrays
Op de vorige pagina's hebben we arrays beschreven die een enkele lijst van sleutel/waarde-paren zijn.
Soms wilt u echter waarden met meer dan één sleutel opslaan. Hiervoor hebben we multidimensionale arrays.
PHP - Multidimensionale arrays
Een multidimensionale array is een array die een of meer arrays bevat.
PHP ondersteunt multidimensionale arrays die twee, drie, vier, vijf of meer niveaus diep zijn. Arrays van meer dan drie niveaus diep zijn voor de meeste mensen echter moeilijk te beheren.
De afmeting van een array geeft het aantal indices aan dat je nodig hebt om een element te selecteren.
- Voor een tweedimensionale array heb je twee indices nodig om een element te selecteren
- Voor een driedimensionale array heb je drie indices nodig om een element te selecteren
PHP - Tweedimensionale arrays
Een tweedimensionale array is een array van arrays (een driedimensionale array is een array van arrays van arrays).
Bekijk eerst de volgende tabel:
Name | Stock | Sold |
---|---|---|
Volvo | 22 | 18 |
BMW | 15 | 13 |
Saab | 5 | 2 |
Land Rover | 17 | 15 |
We kunnen de gegevens uit de bovenstaande tabel opslaan in een tweedimensionale array, zoals deze:
$cars = array (
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15)
);
Nu bevat de tweedimensionale $cars-array vier arrays en heeft het twee indices: rij en kolom.
Om toegang te krijgen tot de elementen van de $cars-array moeten we naar de twee indices (rij en kolom) wijzen:
Voorbeeld
<?php
echo $cars[0][0].": In stock: ".$cars[0][1].", sold: ".$cars[0][2].".<br>";
echo $cars[1][0].": In stock: ".$cars[1][1].", sold: ".$cars[1][2].".<br>";
echo $cars[2][0].": In stock: ".$cars[2][1].", sold: ".$cars[2][2].".<br>";
echo $cars[3][0].": In stock: ".$cars[3][1].", sold: ".$cars[3][2].".<br>";
?>
We kunnen ook een for
lus in een andere for
lus plaatsen om de elementen van de $cars-array te krijgen (we moeten nog steeds naar de twee indices wijzen):
Voorbeeld
<?php
for ($row = 0; $row < 4; $row++) {
echo "<p><b>Row number $row</b></p>";
echo "<ul>";
for ($col = 0; $col < 3; $col++) {
echo "<li>".$cars[$row][$col]."</li>";
}
echo "</ul>";
}
?>
Volledige PHP-arrayreferentie
Ga voor een volledige referentie van alle arrayfuncties naar onze volledige PHP Array Reference .
De referentie bevat een korte beschrijving en gebruiksvoorbeelden voor elke functie!