PHP Lektion 4.3

PHP Lektion 5

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
$a = array("foo", "bar", "bla");
foreach ($a as $value) {
echo $value."\n";
}
// gibt nacheinander die Werte aus dem Array aus
?>

Übung 1

Teste das Beispiel oben.

Gib dein Hauptstadt-Array mit derselben Methode aus, so dass am Ende alle Einträge untereinander stehen.

Erstelle einen Array der Länge 10 und fülle ihn mit Zufallseinträgen von 1 bis 100, gehe dabei wie folgt vor:

die Zufallszahlen sollen mit einer FOR-Schleife erstellt und gleichzeitig in den Array gepackt werden;

die Arrayeinträge sollen anschließend mit einer foreach-Schleife ausgegeben werden;

Mit einer zweiten foreach-Schleife soll das kleinste Element herausgefunden und ausgegeben werden.
(Tipp: Zwischenspeicher verwenden!)

Zusatz

Ermögliche die Variation des Randombereichs mit einer Eingabe.

Ermögliche die Variation der Anzahl der Arrayeinträge.

Übung 2

Gebe das Array aus dem Beispiel oben auch mit Hilfe einer for-Schleife aus. for($i=0; $i< =3; $i++)

Suche in php-Manual eine Möglichkeit, die Anzahl der Arrayeinträge zu berechnen.

Der Unterschied von POST zu GET

Teste das folgende Skript, das die übergebenen GET-Parameter anzeigt. Probiere aus was passiert, wenn du Parameter hinzufügst, in dem die das Skript in folgender Weise aufrufst:

http://ernest.aeg-reutlingen.de/~USER/SKRIPT.php?para1=guggus&para2=12345&huhu=hallo

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