Schleifen
While-Schleife
In manchen Fällen ist es notwendig, eine Anweisung so lange auszuführen, bis ein bestimmtes Ergebnis eintritt.
Dies benutzt man z.B. auch um den Inhalt von Datenbanken (z.B. MySQL) oder einfach den Inhalt von Dateien auszugeben.
PHP bietet dafür die while-Schleife und auch die for-Schleife an.
while-Schleifen werden vorallem in Verbindung mit Datenbanken verwendet, während for-Schleifen meistens nur zum Hoch- bzw. Runterzählen von Werten verwendet werden.
Unser PHP Script enthält eine Schleife, die solange zählt, bis eine bestimmte Zahl erreicht ist.
Dafür brauchen wir als erstes ein Formular, indem wir die Zahl eingeben.
<form action=“seite2.php“ method=“post“>
Eine Zahl zwischen 1 und 25:<br>
<input type=“Text“ name=“zahl“>
<input type=“Submit“ value=“Absenden“>
</form>
Der nächste Schritt ist die while-Schleife.
Zuerst fragen wird selbstverständlich unseren Zahlenwert ab.
Bei while-Schleifen arbeitet man meistens mit einem „internen Counter“, der zunächst initialisiert wird – in diesem Fall mit dem Wert 0.
<?php $zahl = $_POST['zahl']; $a = 0; ?>
Diese Zahl speichern wir in der Variable $a.
Wir könnten natürlich auch jede andere Variable benutzen.
Der Wert entscheidet darüber, ab wann PHP anfangen soll zu zählen, wir könnten auch von -10 zählen lassen.
Dann brauchen wir unsere while-Schleife.
<?php while($a < $zahl) { $a++; echo $a.", "; } ?>
Direkt nach dem einleitenden while wird innerhalb der runden Klammer die Bedingung gestellt. Solange diese Bedingung zutrifft, wird jetzt die Anweisung, der Code innerhalb der geschwungenen Klammern, ausgeführt.
Zum Anfang erhöhen wir den Wert von $a um eins, denn wir wollen dort als erste Zahl eine 1 stehen haben.
Wir können natürlich auch am Schluss $a++ schreiben, dann wäre aber die erste Ausgabe eine Null.
Das erhöhen der Variable $a ist ganz wichtig, sonst würde sich PHP dumm und dämlich zählen, denn die Bedingung wäre dann immer wahr.
Zwischen den geschwungenen Klammern geben wir die Zahl und ein Komma aus, damit es besser aussieht.
Der ganze Script sieht dann so aus:
<?php $zahl = $_POST["zahl"]; //Eine kleine überprüfung, //damit keine zu großen Zahlen eingegeben werden if($zahl > 25) { $zahl = 25; } $a = 0; while($a < $zahl) { $a++; echo $a.", "; } ?>
for-Schleife
Neben der while-Schleife gibt es auch noch die for-Schleife. Diese ist etwas komplizierter und mit ihr lässt man nur Werte Hoch- bzw. Runterzählen.
Wir benutzen wieder das Beispiel mit dem Zählen.
Der erste Teil bleibt gleich:
<?php $zahl = $_POST["zahl"]; if($zahl > 25) { $zahl = 25; } ?>
Doch jetzt brauchen wir die for-Schleife.
<?php for($a = 0; $a < $zahl; $a++) { echo $a; echo ", "; } ?>
Bei der for-Schleife geben wir die Variable $a innerhalb der runden Klammern an.
Dort geben wir nach dem erstem Semikolon ( die Bedingung an. Zum Schluss (auch durch ein Semikolon ; getrennt) erhöhen wir den Wert von $a um 1.
Wir benutzen als Startwert 0, und die Schleife läuft insgesamt $zahl (max. 25) mal durch. Die erste Ausgabe wird eine 0 sein.
Schleifen braucht man sehr oft, wenn man mit Datenbanken oder Dateien arbeitet.