copyright (c)  2003   useGroup
PHP

Jochen Stärk
PHP-Tutorial
Schleifen

nach untenwhile
nach untenfor
nach untenforeach

while

nach obenwhile 

Schleifen funktionieren in PHP wie in jeder C-ähnlichen Sprache nach dem Muster

            while (<Bedingung>) 
            {
            <Schleifeninhalt>
            }
            
         
Dies prüft am Anfang der Schleife, ob Bedingung wahr ist und wenn ja, wird die Schleife eben ausgeführt. Dann wird der Wahrheitsgehalt nochmals überprüft und die Schleife gegebenenfalls nochmal ausgeführt.
            do
            {
            <Schleifeninhalt>
            }
            while (<Bedingung>)
            
         
Prüft am Ende der Schleife, ob Bedingung wahr ist, nachdem die Schleife schon ausgeführt wurde. Eine solche Schleife wird also mindestens einmal ausgeführt.
$i = 1;
while ($i <= 10) {
    print $i++;  // Siehe Operatoren

}


for

nach obenfor 

For ist ebenfalls C-ähnlich, die Anweisung lautet

            for (<Startanweisung>; <Bedingung>; <Schleifenanweisung>) 
            {
            <Schleifeninhalt>
            }
            
         
Zuerst wird Startanweisung ausgeführt, dann, falls Bedinung erfüllt ist, der Schleifeninhalt und dann die Schleifenanweisung, dann wird nochmals überprüft ob die Bedingung noch wahr ist und falls ja wird der Schleifeninhalt nochmals ausgeführt, dann die Schleifenanweisung und so weiter.

Diese Schleife zählt von 1 bis 10
for ($i=1; $i<=10; $i++)
{
  echo "$i ";
}
Diese Schleife zählt in zehnerschritten von 100 bis 200
for ($i=100; $i<=200; $i+=10)
{
  echo "$i ";
}


foreach

nach obenforeach 

Perl-ähnlich ist einen Foreach-Anweisung, besonders nützlich im Zusammenhang mit Arrays.

            foreach(<Array> as <Temporärvariable>) 
            {
            <Schleifeninhalt>
            }
            
         
Speichert den ersten Wert des Arrays in der Temporärvariable und führt den Schleifeninhalt aus. So kann man z.b. einen Array besonders schön ausgeben:
foreach($myarray as $myvariable) 
{
  echo "$myvariable, ";
}
Beachten Sie dass foreach offensichtlich einen PHP-internen Cursor im Array verwendet, wenn Sie foreach in einer rekursiven Funktion auf ein globales Array anwenden, dann verreckt die Rekursion genau an der Stelle. Verwenden Sie dann lieber whiles (mit lokalen Zählern) oder lokale Arrays.


copyright (c)  2003   useGroup