PHP 4.3

6.9 Kombination von Arrays

Nachdem Sie im letzten Kapitel das individuelle Auslesen von numerischen und assoziativen Arrays kennen gelernt haben, möchten wir Ihnen in diesem Kapitel noch zeigen, wie man beide Arten kombinieren und durch eine Schleife wieder ausgeben kann.

Das numerische Array stellt im vorliegenden Fall die oberste Ebene dar; die assoziativen Arrays darin dienen uns als Speicher für die Angaben zu verschiedenen Obstsorten. Vorteilhaft ist daran, dass die spezifischen Angaben zu den Obstsorten nun immer gleich heißen und in einem Durchgang ausgegeben werden können.

<?php

  $home[0]["Frucht"] = "Kirschen";
  $home[0]["Gewicht"] = 300;
  $home[0]["Farbe"] = rot;
  $home[1]["Frucht"] = "Bananen";
  $home[1]["Gewicht"] = 5650;
  $home[1]["Farbe"] = gelb;

?>

Mit der folgenden Schleife kann man nun beispielsweise alle Gewichte auslesen:

<?php

  $home[0]["Frucht"] = "Kirschen";
  $home[0]["Gewicht"] = 300;
  $home[0]["Farbe"] = rot;
  $home[1]["Frucht"] = "Bananen";
  $home[1]["Gewicht"] = 5650;
  $home[1]["Farbe"] = gelb;

  for ($i = 0; $i < count($home); $i++) {
    echo "Das Gewicht von 50 " . $home[$i]["Frucht"] . " beträgt " . $home[$i]["Gewicht"] . " Gramm.<br>";
  }

  // Mit der foreach Schleife funktioniert es folgendermaßen:

  foreach ($home as $inhalt) {
    echo "Das Gewicht von 50 " . $inhalt["Frucht"] . " beträgt " . $inhalt["Gewicht"] . " Gramm.<br>";
  }

?>

Browserausgabe:
Das Gewicht von 50 Kirschen beträgt 300 Gramm.
Das Gewicht von 50 Bananen beträgt 5650 Gramm.
Das Gewicht von 50 Kirschen beträgt 300 Gramm.
Das Gewicht von 50 Bananen beträgt 5650 Gramm.

Die Vorgehensweise ist folgende:

Wir haben im ersten Teil ein zweidimensionales, kombiniertes Array angelegt.

Das erste Schleifenbeispiel zeigt die Verwendung der for-Schleife. Der Startwert wird bei diesem Beispiel auf Null gesetzt ($i=0). Laut Bedingung soll die Schleife solange durchlaufen werden, solange $i kleiner als die Anzahl der gezählten Elemente in $home ist ($i<count($home)). Am Ende der Schleife soll $i dann um 1 erhöht werden ($i++).

Die zweite Schleife, die wir verwendet haben, ist die ebenfalls bekannte foreach-Schleife. In diesem Fall gibt es keinen setzbaren Schleifenzähler, sondern es wird jedes Arrayelement erfasst. Jedes Element der Variablen $home wird der Variablen $inhalt übergeben. Im Anschluss erfolgt die Textausgabe für jedes Element $inhalt, in der Sie nun die spezifischen Inhalte abfragen können.

Kommentare (0)

Ihr Kommentar

Name