PHP-Mehrdimensionale-Array

In den vorherigen Kapiteln dieses Tutorials haben wir gelernt, dass ein Array eine einfache Liste von Nummern/Wert-Paaren ist.

Manchmal möchte man jedoch Werte mit mehr als einem Schlüssel speichern.

Man kann mit mehrdimensionalen Arrays speichern.

PHP - mehrdimensionale Array

Mehrdimensionale Arrays sind Arrays, die eine oder mehrere Arrays enthalten.

PHP versteht zwei-, drei-, vier- oder fünfstufige und höherdimensionale mehrdimensionale Arrays. Allerdings sind Arrays über dreistufig für die meisten Menschen schwer zu verwalten.

Anmerkung:Die Dimension des Arrays zeigt an, wie viele Indizes Sie auswählen müssen, um ein Element auszuwählen.

  • Für zwei dimensionale Arrays benötigen Sie zwei Indizes, um Elemente auszuwählen
  • Für dreidimensionale Arrays benötigen Sie drei Indizes, um Elemente auszuwählen

PHP - zwei dimensionale Array

Eine zwei dimensionale Array ist ein Array von Arrays (ein dreidimensionales Array ist ein Array von Arrays von Arrays).

Lassen Sie uns zunächst den folgenden Tisch betrachten:

Marke Lagerbestand Verkaufszahlen
Volvo 33 20
BMW 17 15
Saab 5 2
Land Rover 15 11

Wir können die Daten der obigen Tabelle in einem zwei dimensionalen Array speichern, wie folgt:

$cars = array
  (
  array("Volvo",22,18),
  array("BMW",15,13),
  array("Saab",5,2),
  array("Land Rover",17,15)
  );

Jetzt enthält dieses zweidimensionale Array vier Arrays und hat zwei Indizes (Index): Zeile und Spalte.

Um auf die Elemente des Arrays $cars zuzugreifen, müssen wir zwei Indizes (Zeile und Spalte) verwenden:

Beispiel

<?php
echo $cars[0][0].": Lager:".$cars[0][1].", Verkauf:".$cars[0][2].".<br>";
echo $cars[1][0].": Lager:".$cars[1][1].", Verkauf:".$cars[1][2].".<br>";
echo $cars[2][0].": Lager:".$cars[2][1].", Verkauf:".$cars[2][2].".<br>";
echo $cars[3][0].": Lager:".$cars[3][1].", Verkauf:".$cars[3][2].".<br>";
?>

Laufende Beispiele

Wir können auch einen weiteren For-Schleife in einem For-Schleife verwenden, um die Elemente des Arrays $cars zu erhalten (wir müssen immer noch zwei Indizes verwenden):

Beispiel

<?php
for ($row = 0; $row < 4; $row++) {
  echo "<p><b>Zeilennummer $row</b></p>";
  echo "<ul>";
  for ($col = 0; $col < 3; $col++) {
    echo "<li>".$cars[$row][$col]."</li>";
  }
  echo "</ul>";
}
?>

Laufende Beispiele