Unterrichtsmaterialien für den Informatikunterricht

Kontrollstrukturen 5: foreach-Schleife

Folien

Falls keine PDF-Präsentation zu sehen ist: Direktdownload der PDF-Präsentation

foreach-Syntax:

foreach ($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
$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:

foreach ($arrayname as $key => $value)

Beispiel:

<?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

Zusätzliche Dateien (Bilder, Klassendiagramme, HTML-Vorlagen) finden Sie in der Materialsammlung. Diese Übungen können Sie als txt-Datei 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
$artikel = array("Schuhe", "Jacken", "Hosen", "Mützen", "Pullover", "Brillen");

B) Assoziatives Array
$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:

<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():

$text = "Am Montag gehen wir in die Schule, am Dienstag bleiben wir zu Hause.";
$zerlegt = explode(" ", $text)
foreach ($zerlegt as $wert)
{
	echo $wert . "<br />";
}