Inhaltsverzeichnis

~~SLIDESHOW~~

Arrays

Die Feldvariable – auch Array genannt

Arrays sind Wertelisten, die beliebig viele Werte enthalten können. Wenn man mehr als einen Wert in einer Variablen speichern möchte, kommen diese Feldvariablen ins Spiel. Stelle es dir vor wie eine Fußballmannschaft. Die Variable ist der SSV Reutlingen, die „Elemente“ sind die Spieler, dabei hat das erste Element als Standard den Indexwert (auch key genannt) „0“.

Beispiel:

 $SSVReutlingen[0] = "Gühring";
 $SSVReutlingen[1] = "Rill";
 $SSVReutlingen[2] = "Kyei";
 ...

Assoziative Arrays

In assoziativen Arrays wird als key statt der Index-Nummer ein ganz eigenes Schema erzeugt. Dieses darf man sich (fast) frei ausdenken. Man kann bei diesem „Ersatz-Schlüssel“ einfache Strings aber auch Zahlen benutzen, um es sich bei der Abfrage zu erleichtern. Der key wird dann in Gänsefüßchen notiert.

Beispiel:

 $SSVReutlingen["torwart"] = "Gühring";
 $SSVReutlingen["mittelfeld1"] = "Rill";
 ...
 

Übung

Schreibe eine hauptstadt.php-Datei, in dem du einen Array $hauptstadt mit 10 verschiedenen Hauptstädten Europas deklarierst. Verwende als key die im Web gebräuchliche Länderkennung (evtl. googeln). Gib anschließend die Länder mit ihren Hauptstädten aus.

Hinweis:

Bei der Ausgabe von Arrays in Verbindung mit einem Text kann man verschiedene Varianten wählen. Eine davon lautet:

 echo "<p>Die Hauptstadt von Frankreich ist $hauptstadt[fr] <br /></p>";

Die foreach Schleife

Für Arrays gibt es den speziellen Schleifentyp foreach. Mit diesem Schleifentyp werden die einzelnen Arrayelemente eines Arrays durchlaufen. Eine Foreach-Schleife beginnt mit dem Schlüsselwort foreach. Dann folgt nach der öffnenden Klammer das Array bzw. die Variable, die das Array enthält, welches durchlaufen werden soll. Danach folgt das Schlüsselwort as und eine neue Variable. In dieser Variable wird für jeden Schleifendurchlauf der neue Wert des nächsten Arrayelements gespeichert. Nach der folgenden schließenden Klammer beginnt der Schleifenrumpf.

  <?php
 
  foreach ($hauptstadt as $stadt) {
    echo $stadt."<br />";
  }
  // gibt nacheinander die Werte aus dem Array aus    
  ?>

Man kann auch gleichzeitig auf Schlüssel und Werte zugreifen:

 <?php
 
  foreach ($hauptstadt as $key => $value) {
	print '$hauptstadt['.$key.']=' . $value;
	print " ----> Schlüssel: <tt>" . $key . "</tt>  Wert: <tt>" . $value . "</tt><br />"; 
  }
 
  ?>
 

Aufgabe

Erweitere deine Datei hauptstadt.php so, dass nun auch die einzelnen Länder in Arrays gespeichert stehen und mit ausgegeben werden können.