PHP: Einführung für Anfänger |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* Einführung * Installation * Paketmanager * Grundlagen * Shells * Entwicklung * KDE * Skriptsprachen * AWK * PHP * Perl * Apache * Veranstaltungen * Schulungen * Bücher * Netzwerk * OpenOffice * OpenSource * Samba | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PHPHome PHP von der Kommandozeile PHP und HTML im Zusammenspiel Variablen und Zuweisungen Arrays Vergleichsoperatoren Verzweigungen Schleifen Funktionen Datei schreiben Datei lesen Formulare verarbeiten Sortieren von Dateinamen Anzeige: PHP Kurse für Anfänger und Fortgeschrittene Kontakt Haftung Impressum Problem Hilfe Startseite |
ArraysEinführungArrays bieten eine elegante Möglichkeit mehrere Variablen eines Types untern einem Namen zu speichern.Im Abschnitt über Variablen hatten wir die Variablen im Vergleich mit einer Kommode eingeführt. Nun stellen wir uns vor, dass die Kommode nicht mehr dem ganzen Speicher des Rechners, sondern nur einer Sammlung von Variablen gleichen Typs entspricht. Die ganze Kommode entspricht also genau einem Array und jede Schublade entspricht einem Element dieses Arrays. Wenn es nur eine Kommode in einer Wohnung gibt, ist es durchaus sinnvoll unser Array (unsere Kommode) einfach nur "Kommode" zu nennen, oder besser gesagt $Kommode, denn alle Variablen, also auch Arrays, beginnen in PHP mit einem Dollarzeichen. Den Inhalt einer Schublade, also z.B. der dritten Schublade, sprechen wir nun mit $Kommode[3] an. In allen Ausdrücken, in denen eine Variable des gleichen Typs stehen kann, kann auch ein Element eines Arrays stehen. Beispiele: Nehmen wir an in $Kommode stehen Zahlen (z.B. integer):
if ($Kommode[3] ==3) { Bei unserem Kommodenbeispiel haben wir mit 1 angefangen zu zählen, weil dies mehr unserer natürlichen Vorstellung entspricht. Wir sprechen von der "1. Schublade" oder der "3. Schublade". Allerdings beginnen Arrays meistens mit 0. Daran muss man sich gewöhnen, wenn man noch nie programmiert hat. Informatiker beginnen halt mit 0 zu zählen, also 0, 1, 2, usw. Man kann sich ein Array auch als zweispaltige Tabelle vorstellen. Stellen wir uns beispielsweise ein Array vor, dass die Wochentage (also Strings) enthält:
Obige Tabelle wollen wir nun einem Array mit dem Namen $Woche zuordnen:
Die Anweisung echo $woche[0]; gibt den String "Montag" aus.Die Zuweisung der Wochentage zum Array hätte man auch wie folgt machen können:
Eine wichtige Funktion, die man bei der Behandlung von Arrays häufig braucht, ist count(). Will man alle Array-Elemente ausgeben, kann man dies mit einer for-Schleife machen:
Assoziative ArraysIn den bisherigen Beispielen hatten wir als Indizes nur ganze Zahlen verwendet. Was, wenn der Index selbst z.B. ein String ist, wie zum Beispiel in folgender Tabelle, in der einem jeweiligen englischen Wochentag sein deutsches Äquivalent gegenübersteht:
Auch dies lässt sich in PHP leicht realisieren, im Gegensatz zu einer Programmiersprache wie C oder C++. In PHP sind zu diesem Zweck sogenannte assoziative Arrays (manchmal auch Hashs genannt) implementiert. Folgende Zeile erledigt obige Zuordnung der Wochentage:
Ein solches assoziatives Array lässt sich aber nicht mehr mit einer einfachen Zählschleife, wie der for-Schleife, ausgeben. Dazu bietet PHP das foreach-Konstrukt:
Man kann auch mehrdimensionale assoziative Arrays (multidimensional associative arrays) bilden, wenn man als Elemente jeweils wieder assoziative Arrays wählt. Beispiel: Mitarbeiter einer Firma:
Ein lauffähiges PHP-Programm, welches obige Tabelle als multidimensionales assoziatives Array implementiert, findet man im nächsten Diagramm:
Wenn man obiges Skript in einer Datei multi_array.php speichert und mit "php5 multi_array.php" in einer Shell von Kommandozeile startet, sollte man folgende Ausgabe erhalten:
|