PHP-while-for-Schleife

PHP-Tutorial Inhalt »

1. PHP-while-Schleife

Mit "while" wird in PHP eine so genannte Schleife gebildet.

Die "while-Schleife" dient dazu, eine Anweisung ständig zu wiederholen und zwar so lange eine bestimmte Bedingung (oder auch mehrere Bedingungen) erfüllt werden.

Erst wenn die Bedingung (oder die Bedingungen) nicht mehr erfüllt sind, wird die Anweisung nicht mehr ausgeführt. Die Schleife wird dann abgebrochen.

Beispiel:

Der Satz "Heute scheint die Sonne" soll sechs mal hintereinander (oder besser gesagt untereinander) auf dem Bildschirm erscheinen:

Heute scheint die Sonne

Heute scheint die Sonne

Heute scheint die Sonne

Heute scheint die Sonne

Heute scheint die Sonne

Heute scheint die Sonne

Mit PHP könnte das auf die ganz einfache Art so aussehen:

<?php

echo "Heute scheint die Sonne"<br>\n;

echo "Heute scheint die Sonne"<br>\n;

echo "Heute scheint die Sonne"<br>\n;

echo "Heute scheint die Sonne"<br>\n;

echo "Heute scheint die Sonne"<br>\n;

echo "Heute scheint die Sonne"\n;

?>

Die HTML-Tags <br> bewirken Zeilenumbrüche, damit die Sätze untereinander und nicht in einer langen Zeile nebeneinander auf dem Bildschirm erscheinen.

Das \n nach dem <br> bewirkt auch jeweils einen Zeilenumbruch, jedoch keinen sichtbaren auf dem Bildschirm, sondern einen im Quellcode, der nur im Editor zu sehen ist.

Soll der Satz nicht 6 mal, sondern z.B. 100 mal erscheinen, wäre diese Methode jedoch viel zu aufwendig.

Einfacher geht es mit Hilfe der "while-Schleife".

In PHP sieht das dann so aus:

<?php

$i=1;

while($i<=6) {

echo "Heute scheint die Sonne";

$i++;

}

?>

Zuerst wird eine Variable gebildet ...

$i=1;

... der Variablenname ist i, der Wert der Variable ist 1.

Diese Variable wird auch als Zählvariable bezeichnet.

Der Variablenname muss nicht unbedingt i lauten. Es könnte auch irgendein anderer Variablenname verwendet werden, z.B.

$Apfelbaum=1

Wichtig ist hier, dass der Wert der Variable 1 ist.

Der Name i wird aber meistens verwendet. Das hat den Vorteil, dass man gleich erkennt, dass es sich um die Zählvariable handelt.

Die nächste Zeile ...

while($i<=6) {

... hat Ähnlichkeit mit der if-Abfrage:

if(Bedingung) {

Auch bei der Zeile ...

while($i<=6) {

... ist das, was zwischen den beiden runden Klammern steht, die Bedingung.

Allgemein könnte man also schreiben ...

while(Bedingung) {

In unserem Beispiel ...

while($i<=6) {

... lautet die Bedingung:

$i<=6

$i soll also kleiner gleich 6 sein!

$i hat den Wert 1 und 1 ist in jedem Fall kleiner als 6. Somit ist die Bedingung erfüllt.

  • kleiner (<) als 6 sind 1, 2, 3, 4, 5
  • kleiner gleich (<=) 6 sind 1, 2, 3, 4, 5, 6

Während die Bedingung erfüllt ist (und das ist sie ja) wird die "echo-Anweisung" ausgeführt. Es erscheint der Satz: "Heute scheint die Sonne". Es geschieht aber noch mehr und zwar durch die nächste Zeile ...

$i++;

In dieser Zeile wird der Wert der Variable, der ja 1 ist ($i=1) um 1 erhöht, sodass er jetzt 2 ist.

... und es geschieht noch mehr ...

Nachdem der Wert der Variable $i jetzt 2 ist, wird wieder nach oben gesprungen und zwar in die Zeile ...

while($i<=6) {

Dort wird geprüft, ob die Bedingung erfüllt ist, also ob $i kleiner gleich 6 ist.

Da $i jetzt den Wert 2 hat, ist die Bedingung erfüllt, denn 2 ist ja kleiner gleich 6.

Daraufhin wird wieder die "echo-Anweisung" ausgeführt und der Satz "Heute scheint die Sonne" erscheint ein zweites Mal auf dem Bildschirm und zwar unterhalb des ersten Satzes.

Dann wird durch die Zeile ...

$i++;

... der Wert von $i, der ja bisher noch 2 ist, wieder um 1 erhöht, sodass er jetzt 3 ist.

Dann wird wieder nach oben gesprungen, in die Zeile ...

while($i<=6) {

... und wieder geprüft, ob die Bedingung erfüllt ist, also ob $i kleiner gleich 6 ist.

Da $i jetzt den Wert 3 hat, ist die Bedingung erfüllt, denn 3 ist ja kleiner gleich 6.

Der Satz "Heute scheint die Sonne" erscheint ein drittes Mal auf dem Bildschirm, unterhalb der beiden bereits vorhandenen Sätze.

Der Wert von $i wird jedes Mal um 1 erhöht, bis $i den Wert 6 erhält und der Satz "Heute scheint die Sonne" sechs Mal untereinander steht.

Wird daraufhin der Wert von $i, der dann 6 ist, durch die Zeile ...

$i++;

... noch einmal um 1 erhöht, also von 6 auf 7 und wieder nach oben gesprungen in die Zeile ...

while($i<=6) {

... dann ist die Bedingung nicht mehr erfüllt, denn 7 ist ja nicht kleiner gleich 6.

Die "while-Schleife" wird dann abgebrochen !

Der Wert von $i ist nur am Anfang 1.

Dies wird definiert in der obersten Zeile ...

$i=1;

  • Mit der Zählvariable wird also nur der "Startwert gesetzt".
  • Nach dem "Abfragen der Bedingung", in unserem Beispiel $<=6, ...
  • ... wird das "Zählmuster festgelegt", in unserem Beispiel das Erhöhen des Zählers um 1, mit Hilfe von $i++.

Das Erhöhen des Zählers um 1, mit Hilfe von $i++ bezeichnet man auch als "inkrementieren".

2. PHP-for-Schleife

Die drei Bestandteile der "while-Schleife" ...

  • Startwert setzen z.B. $i=1
  • Bedingung abfragen z.B. $i<=6
  • Zählmuster festlegen z.B. $i++

... können in der "for-Schleife" in einer Zeile zusammengefasst werden.

Allgemein geschrieben sieht die for-Schleife so aus:

for (Startwert setzen; Bedingung abfragen; Zählmuster festlegen;) {

Anweisungsblock

}

Die drei Bestandteile werden in runde Klammern zusammengefasst und durch Semikolons getrennt.

Hier noch einmal unser Beispiel von oben, diesmal jedoch in Form einer for-Schleife:

<?php

for ($i=1; $i<=6; $i++;) {

echo "Heute scheint die Sonne";

}

?>

Das Ergebnis ist das gleiche, wie bei der while-Schleife.

« PHP-Elseif

PHP-Array (Teil 1) »


 

Galerien / Präsentationen...

city001-sidebar

link-icon002 Galerien-Übersicht...

Kategorien

Alle Artikel

(Inhaltsverzeichnis)

link-icon002 alphabetisch geordnet...

link-icon002 nach Datum geordnet...

soziale Netzwerke...

"Cogniclip" ist auch auf folgenden sozialen Netzwerken vertreten:

Cogniclip auf Twitter Cogniclip auf Google+
 

Per RSS Beiträge abonnieren:

RSS-Feed von Cogniclip
 

Kalender

Dezember 2017
M D M D F S S
 123
45678910
11121314151617
18192021222324
25262728293031
« Feb