Lektion 5: Schleifen

In PHP ist es möglich, die Ausführung des Skriptes mit verschiedenen Kontrollstrukturen zu beeinflussen. In dieser Lektion beschäftigen wir uns mit Schleifen. Schleifen können dazu benutzt werden, Teile des Skriptes - eine bestimmte Anzahl an Malen oder bis eine bestimmte Bedingung erreicht wird - zu wiederholen.

"while"-Schleifen

Die Syntax für eine Dokumentationwhile-Schleife ist:


	while (Bedingung) {
		Anweisung
	} 
	
	

Die Syntax kann fast direkt ins Englische übersetzt werden: do something while a condition is met, also in etwa tue etwas während eine Bedingung erfüllt ist.

Lassen Sie uns mit einem einfachen Beispiel beginnen:


	<html>
	<head>
	<title>Schleifen</title>

	</head>
	<body>

	<?php

	$x = 1;
	 
	while ($x <= 50) {
	   echo "<p>Dieser Text wird 50 mal wiederholt</p>";
	   $x = $x + 1;
	}
	?>

	</body>

	</html>
	
	

In dem Beispiel wurde eine Variable "$x" benutzt. Wie Sie sehen können, beginnen Variablen in PHP immer mit dem sog. Dollar-Zeichen "$". Man vergisst dies am Anfang immer mal. Es ist aber wichtig, daran zu denken, weil sonst das Skript nicht funktioniert.

Abgesehen davon, ist das Beispiel fast selbsterklärend. Erst wird die Variable $x auf den Wert 1 gesetzt. Dann läßt die Schleife den Server den Text, während $x kleiner oder gleich 50 ist, ausführen. In jedem Schleifendurchgang wird die Variable $x um 1 erhöht.

"for"-Schleifen

Eine andere Möglichkeit eine Schleife zu erstellen ist Dokumentationfor, mit folgender Syntax:

	
	for (Initialisierung; Bedingung; Schrittweite) {
		 Anweisung
	}
	
	

Die Anweisung wird solange wiederholt, bis 'Initialisierung' + 'Schrittweite' die 'Bedingung' trifft. Falls dies für Sie noch keinen Sinn ergibt, schauen Sie sich dieses Beispiel an:


	<html>
	<head>

	<title>Schleifen</title>
	</head>
	<body>

	<?php

	for ($x=0; $x<=50; $x=$x+5) {
	   echo '<p>Die Variable $x ist jetzt = ' . $x . '</p>';
	}
	?>

	</body>
	</html>
	
	

In dem obigen Beispiel wächst $x in jedem Schleifendurchlauf um den Wert 5. Die Schleife wird ausgeführt, so lang $x kleiner oder gleich 50 ist. Haben Sie bemerkt, dass wir $x als Teil unseres Satzes verwendet haben?

Hier ist ein weiteres Beispiel:


	<html>
	<head>

	<title>Schleifen</title>
	</head>
	<body>

	<?php

	for ($ x=1; $x<=6; $x=$x+1) {
	   echo "<h" . $x . ">Überschriftenebenen</h" . $x . ">";
	}
	?>

	</body>
	</html>
	
	

Verstehen Sie's? Zuerst setzen wir den Wert von $x auf 1. Dann schreiben wir in jedem Schleifendurchlauf eine Überschrift der Ebene $x (h1, h2, h3, etc.) bis $x gleich 6 ist.

Schleifen in Schleifen (sog. Verschachtelung)

Im Prinzip gibt es keine Beschränkungen, wie Schleifen verwendet werden können. Z.B. können Sie leicht Schleifen in Schleifen packen und so viele Wiederholungen kreieren.

Aber Vorsicht! PHP wird langsamer, je schwieriger und komplexer die Skripte werden. Schauen Sie z.B. auf das folgende Beispiel, womit wir - mit drei Schleifen - über 16 Millionen Farben ausgeben können!

Damit die Seite nicht zu langsam wird, haben wir die Anzahl der Farben drastisch reduziert, indem wird die Schrittweite auf 30 gesetzt haben und so die Anzahl der Farben auf 512 beschränken.


	<html>

	<head>
	<title>Schleifen</title>
	</head>
	<body>

	<?php
 
	for ($intRed=0; $intRed<=255; $intRed=$intRed+30) {

	   for ($intGreen=0; $intGreen<=255; $intGreen=$intGreen+30) {

	      for ($intBlue=0; $intBlue<=255; $intBlue=$intBlue+30) {
	 
		  $StrColor = "rgb(" . $IntRed . "," . $IntGreen . "," . $IntBlue . ")";
		  
		  echo "<span style='color:" . $StrColor . "'>" . $ StrColor . "</span>";
	 
	      }
	   }
	}
	?>

	</body>
	</html>
	
	

In diesem Beispiel kann jede der Primärfarben (rot, grün und blau) einen Wert zwischen 0 und 255 haben. Jede beliebige Kombination der drei Farben ergibt eine Farbe der Form rgb(255,255,255). Der Farbcode wird als Farbe (color) des <span>-Tags verwendet.

Schleifen werden immer nützlicher, je mehr Sie lernen. Wenn Sie das Grundprinzip der Schleifen verstanden haben, können Sie mit der nächsten Lektion fortfahren, in der es um Bedingungen (Conditions) geht.



<< Lektion 4: Arbeiten mit Zeit und Daten

Lektion 6: Conditions (Bedingungen) >>

cron