Feldvariablen/Arrays
Arrays sind Wertelisten, die beliebig viele Werte enthalten können. Die Bedeutung des englischen Begriffes Array ist „Anordnung“, „Aufstellung“, „Bereich“, „Feld“, „Reihe“ oder „Reihung“. Ein Array ist also eine Reihe von gleichen Elementen in einem festgelegten Aufbau, z.B. alle Vornamen, oder alle Spieler einer Fussballmannschaft.
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";
Eine andere Art, Arrays zu definieren ist, eine Werteliste vorzugeben:
$wochentage = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"); echo $wochentage[1];
Beachten muss man dabei vor allem, dass die Zählung des Index stets bei 0 beginnt nicht bei 1.
Man kann Arrays auch definieren, indem man dem Variablennamen einfach eckige Klammern nachstellt:
quadratzahl[]=0 quadratzahl[]=1 quadratzahl[]=4
Man kann sich vorstellen, dass das Array hier als Stapel verwendet wird und mit der Zuweisung
quadratzahl[]=<wert>
einfach ein neues Element auf den Stapel gelegt ("gepusht") wird. Der Index wird dabei automatisch erhöht.
Es gibt auch Funktionen, die nur für Arrays funktionieren:
print_r($arrayvariable); // gibt das Array als ganzes aus, gut zur Fehlersuche ;)
(A1)
(a) Schreibe ein Programm, das mit Hilfe einer for-Schleife die Quadratzahlen von 0 bis zu einem in ein Formular übergebenen Wert in einem Array "quadratzahlen" speichert. Gibt das Array als ganzes aus. (Lösung).
(b) Verändere das Programm aus Teil a, so dass es Zufallszahlen erzeugt – soviele, wie im Formular gewünscht.
Man kann ein einzelnes Element eines Arrays ausgeben, indem man einfach den Index bei der Ausgabe angibt:
$betriebssystem[0] = "Windows"; // wird dann Index 0 zugeteilt $betriebssystem[1] = "Linux"; // wird dann Index 1 zugeteilt $betriebssystem[2] = "Solaris"; // wird dann Index 2 zugeteilt $betriebssystem[3] = "Mac"; // wird dann Index 3 zugeteilt echo "ich nutze heute mal: "; echo $betriebssystem[1];
Die Länge eines Arrays kann man mit der Funktion count($arrayvariable)
ausgeben.
(A2)
Übernehme das Beispiel mit den Betriebssystemen und gib alle Betriebssysteme in einer for schleife aus. Bestimme zunächst das Ende der for-Schleife mit der count
Funktion. Füge ein weiteres Betriebssstem hinzu und teste, ob es auch korrekt ausgegeben wird.
(A3)
Informiere dich über die Funktionsweise der foreach
Schleife und ändere das Betriebssystemprogramm so ab, dass anstelle der for-Schleife eine foreach-Schleife Verwendet wir.