In einem Array kann man ein weiteres Array speichern. Und in diesem Array ein weiteres Arrray usw.
Solche Arrays nennt man dann mehrdimensionale Arrays.
Die Dimension gibt dabei an, wie Tief diese Verschachtelung geht.
Ein normales Array wäre ein 1-dimensionales Array, wenn jetzt in dem Array ein weiteres Array gespeichert ist, ist dies ein 2-dimensionales Array.
Dafür hier ein Beispiel:
<?php
$mitarbeiter = array(
array("Klaus", "Zabel"),
array("Arnie", "Meier"),
array("Willi", "Brand")
);
//Daten ausgeben
echo "Vorname: ".$mitarbeiter[0][0];
echo " Nachname: ".$mitarbeiter[0][1];
?>
Ausgabe: Vorname: Klaus Nachname: Zabel
Wie wir sehen, gibt man jetzt nicht nur einen Index an, sondern zwei.
Der erste Index gibt an, welchen Mitarbeiter wir aus der Liste haben möchte, und der zweite Index ob wir den Vornamen oder den Nachnamen ausgeben möchten.
Normale Arrays und assoziativen Arrays lassen sich gut miteinander kombinieren:
$mitarbeiter = array();
$mitarbeiter[] = array("Vorname"=>"Klaus",
"Nachname"=>"Zabel");
$mitarbeiter[] = array("Vorname"=>"Arnie",
"Nachname"=>"Meier");
$mitarbeiter[] = array("Vorname"=>"Willi",
"Nachname"=>"Brand");
//Daten ausgeben
echo "Vorname: ".$mitarbeiter[0]["Vorname"];
echo " Nachname: ".$mitarbeiter[0]["Nachname"];
?>
Da wir jetzt in einem normalem Array ein assoziatives Array (also eins mit Schlüssel) speichern, müssen wir als zweiten Wert auch den Schlüssel für Vor/Nachname angeben.
Dies geht natürlich auch mit noch mehr Dimensionen, z.B. so:
<?php
$mitarbeiter = array();
$mitarbeiter["Klaus"]["Vorname"] = "Klaus";
$mitarbeiter["Klaus"]["Nachname"] = "Zabel";
$mitarbeiter["Klaus"]["Kinder"][] = "Klaus-Junior";
$mitarbeiter["Klaus"]["Kinder"][] = "Kind2";
//Daten ausgeben
echo "Vorname: ".$mitarbeiter["Klaus"]["Vorname"];
echo " Nachname: ". $mitarbeiter["Klaus"]["Nachname"];
echo "Er hat ";
echo count($mitarbeiter["Klaus"]["Kinder"]) . " Kinder";
?>
Keine Kommentare:
Kommentar veröffentlichen