Kontrollstrukturen 5: foreach-Schleife
Falls über diesem Text keine PDF-Präsentation zu sehen ist, wurde diese von Ihrem Browser direkt runtergeladen (wenn Sie z.B. mit Safari@Mac surfen). Sie könnnen zum Download auch hier klicken: Direktdownload PDF-Präsentation
foreach-Syntax:
PHP-Codeforeach ($arrayname as $wert) { Anweisung }
gibt alle Werte des Arrays aus. Im aktuellen Beispiel ist $arrayname der Name der Array-Variablen, $wert ist eine (beliebige!) neue Variable, in der beim Durchlaufen des Arrays die jeweiligen Werte gespeichert werden Bsp.:
PHP-Code<?php $tag = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"); foreach ($tag as $value) { echo $value . "<br />"; } ?>
führt zur Ausgabe:
Sonntag
Montag
Dienstag
Mittwoch
Donnerstag
Freitag
Samstag
Funktioniert auch für assoziative Arrays:
PHP-Codeforeach ($arrayname as $key => $value)
Beispiel:
PHP-Code<?php $tag = array('SO' => "Sonntag", 'MO' => "Montag", 'DI' => "Dienstag"); foreach ($tag as $key => $value) { echo $value . "(Abkürzung: " . $key . ").<br />"; } ?>
führt zur Ausgabe:
Sonntag(Abkürzung: SO).
Montag(Abkürzung: MO).
Dienstag(Abkürzung: DI).
Übungen
Alle Übungen finden Sie in der Materialsammlung (dort auch alle zusätzlichen Dateien wie Bilder, Klassendiagramme oder HTML-Vorlagen!).
Die aktuelle Übung können Sie hier als txt-File herunterladen.
***** Übungen: PHP - foreach-Schleife *****
PHP_19-1: Einfache FOREACH-Schleife
Erzeugen Sie aus den folgenden beiden Arrays jeweils folgende Ausgabe:
Die Variable $variable[‘Schlüssel0’] enthält den Wert WERT0.
Die Variable $variable[‘Schlüssel1’] enthält den Wert WERT1.
Dabei entspricht $variable dem Arraynamen, SchlüsselX und WERTX sind Schlüssel bzw. Wert des Arrayelements mit dem entsprechenden Schlüssel.
A) Indiziertes Array
PHP-Code$artikel = array("Schuhe", "Jacken", "Hosen", "Mützen", "Pullover", "Brillen");
B) Assoziatives Array
PHP-Code$hauptstaedte = array('Frankreich' => "Paris", 'Spanien' => "Madrid", 'Großbritannien' => "London", 'Niederlande' => "Amsterdam");
PHP_19-2: Geheimschrift – Codetabelle mit FOREACH ausgeben
Öffnen Sie Aufgabe PHP_8-5. Lassen Sie sich eine Tabelle (!!) ausgeben, in der die einzelnen Codes übersetzt sind.
Tipp: Die Tabelle wird so aussehen:
HTML-Code<table border="1"> <tr> <th>Geheimcode</th> <th>Übersetzung</th> </tr> <tr> <td>CODE1</td> <td>ÜBERSETZUNG1</td> </tr> <td>CODE2</td> usw.
Achten Sie darauf, dass der Quelltext entsprechende Zeilenumbrüche enthält.
PHP_19-3: Entschlüsselungsmaschine (Profi)
Erstellen Sie ein Programm, das eine Message in Geheimschrift in Klartext übersetzt. Dazu benötigen Sie explode():
PHP-Code$text = "Am Montag gehen wir in die Schule, am Dienstag bleiben wir zu Hause."; $zerlegt = explode(" ", $text) foreach ($zerlegt as $wert) { echo $wert . "<br />"; }
