Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Sprachelemente und Syntax  Teil von  Kontrollstrukturen
Letztes Update: 04.09.2007 20:49:50

Navigation

Seite Startseite
Seite Aktuelles
Seite Seite News*
Seite Seite Pressemitteilungen*
Seite SELFPHP
Seite Seite Über SELFPHP
Seite Seite Werbung
Seite Seite Kontakt
Seite Seite Unsere Banner
Seite Seite Impressum
Seite Qozido
Seite Seite Diving Edition
Seite Seite Snorkeling Edition
Seite SELFPHP Dokumentation
Seite Seite PHP-Skripte
Seite Seite PHP Befehlsreferenz
Seite Seite PHP 5 Praxisbuch
Seite Seite PHP Code Snippets
Seite Seite SELFPHP in Buchform
Seite Anbieterverzeichnis
Seite Seite Globale Branchen
Seite Seite Webhosting/Server
Seite Services
Seite Seite Forum*
Seite Seite RSS-Feeds*
Seite Seite Downloads*
Seite Seite Gratis-Video-Lektionen*
Seite Seite SELFPHP auf Heft-CD*
Seite Seite Newsletter*
Seite Internet Security
 sponsored by  
Seite Stellenangebote*
Sedo - Bei uns wird PHP großgeschrieben
Seite Premium-Partner   
Webhosting/Serverlösungen
Seite Produktempfehlung   
Seite Seite SteadyBackup

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  
 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 100.000 Beiträgen finden Sie sicher die passende Antwort!*  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname: 
Name:
E-Mail:
 




 

for-schleife




Die for-Anweisung ist für Schleifen oft praktischer als die while-Anweisung. Hier wird ausgenutzt, dass die meisten Schleifen einem bestimmten Schema folgen. Normalerweise gibt es eine Schleifenvariable, die vor Beginn der Schleife initialisiert wird. Vor jedem Schleifendurchlauf wird der Wert dieser Variablen innerhalb des Ausdrucks überprüft. Schließlich wird sie am Ende der Schleife, unmittelbar vor der erneuten Auswertung des Ausdrucks, inkrementiert oder in anderer Weise geändert. Sie hat außerdem den Vorzug, dass die Initialisierung, der Ausdruck (Bedingung) und die Veränderung der Schleifenvariablen übersichtlich im Kopf der Schleife zusammengefasst sind.


Definition

for (Init Schleifenvariable; Bedingung; Veränderung) {
  Anweisung/en;
}



Bild 3.8: Ablaufschema einer for-Schleife

Am einfachsten lässt sich erklären, was die for-Anweisung bewirkt, wenn man die äquivalente while-Anweisung angibt:

// Laufvariable (Zählvariable)
$i = 0;

// while-Anweisung
// Ausgabe: 0 1 2 3 4 5 6 7 8 9
while ($i < 10) { // Bedingung
  echo "$i<br>"; // Anweisungsblock
  $i++; // Inkrementierung der Laufvariablen
}

// for-Anweisung
// Im Ausgabefenster: 0 1 2 3 4 5 6 7 8 9
for ($i=0;$i<10;$i++) {
  echo "$i<br>"; // Anweisungsblock
}

// Schreibweise (Variante 2)
for ($i=0;$i<10;$i++)
  echo "$i<br>"; // Anweisung

Wie Sie hier lesen, stehen in dieser Schreibweise alle wichtigen Informationen über die Schleifenvariable in einer einzigen Codezeile. Damit ist die Arbeitsweise der Schleife klar ersichtlich. Außerdem wird dadurch, dass die Veränderung der Schleifenvariablen innerhalb der eigentlichen for-Anweisung steht, der Anweisungsblock vereinfacht.


Flexibilität der for-Schleife

Alle drei Parameter der for-Schleife sind äußerst flexibel einsetzbar. So sind die drei Parameter der for-Schleife optional. Ohne eine Iterationsvariable wird die Schleife endlos durchlaufen. Sie können in diesem Fall wieder auf break zurückgreifen, um die Schleife mit einer zusätzlichen Bedingung zu verlassen.

Beispiel

<?php
$zaehler = 1;
for (;;) {
  if ($zaehler > 10) {
    break;
  }
  print $zaehler;
  $zaehler++;
}
?>



Hinweis: continue kann ebenfalls zum Einsatz kommen.

Der flexible Umgang mit den Schleifenparametern kennt praktisch keine Grenzen. Auch das folgende Beispiel ist syntaktisch korrekt:

<?php
for ($i = 0, $j = 10;$i<$j;$i++) {
  $j--;
  echo "i ist jetzt: $i<br>";
  echo "j ist jetzt: $j<br>";
}
?>

Ausgabe
i ist jetzt: 0
j ist jetzt: 9
i ist jetzt: 1
j ist jetzt: 8
i ist jetzt: 2
j ist jetzt: 7
i ist jetzt: 3
j ist jetzt: 6
i ist jetzt: 4
j ist jetzt: 5

Es spielt offensichtlich keine Rolle, ob hier Variablen zum Einsatz kommen oder nicht. Wenn Sie beispielsweise lediglich eine Liste ausgeben wollen, können Sie den Befehl recht knapp halten:

<?php
for ($i = 1; $i <= 10; print $i, $i++) ;
?>

Innerhalb des for-Befehls können also weitere Befehle, durch Kommata getrennt, eingesetzt werden. Im Beispiel wird übrigens nicht zufällig der Befehl print anstatt des flexibleren echo verwendet. Wie bei der Befehlsbeschreibung bereits erläutert, gibt echo nichts zurück, während print die Ausführung im Erfolgsfall mit TRUE quittiert. Normalerweise wird der Rückgabewert nicht benötigt und gelöscht. Die for-Schleife erwartet jedoch von jedem direkt eingegebenen Wert, dass er sich als Ausdruck verhält – Ausdrücke geben immer etwas zurück. An dieser Stelle kann echo also nicht funktionieren. Versuchen Sie es dennoch, erhalten Sie einen Laufzeitfehler.


Alternative Syntax

Natürlich, wie kann es anders sein, gibt es auch für die for-Schleife eine alternative Schreibweise.


Definition

for (Init Schleifenvariable; Bedingung; Veränderung):
  Anweisungen/en;
endfor;

Beispiel – alternative Schreibweise

<? for ($i = 0; $i <= 10; $i++): ?>
i ist jetzt: <? echo $i ?><br>
<? endfor; ?>

Ausgabe
i ist jetzt: 0
i ist jetzt: 1
i ist jetzt: 2
i ist jetzt: 3
i ist jetzt: 4
i ist jetzt: 5
i ist jetzt: 6
i ist jetzt: 7
i ist jetzt: 8
i ist jetzt: 9
i ist jetzt: 10



 




 sponsored by

Sedo - Bei uns wird PHP großgeschrieben


VERIO - An NTT Communications Company


HighText iBusiness


Webspace-Verkauf.de


video2brain




 Premium-Partner
 Webhosting/Serverlösungen

BPI-Systeme


Premium-Partner Pixel X


Premium-Partner First Colo


Premium-Partner dogado Internet




Qozido


© 2001-2008 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt