for

Syntax

for (expr1; expr2; expr3) statement

Popis

Príkaz jazyka PHPJavaScriptu

První výraz (expr1) je ohodnocen (proveden) jednou, bezpodmínečně, na začátku cyklu.

Na začátku každé iterace je ohodnocen výraz expr2. Pokud má hodnotu TRUE, cyklus pokračuje a zpracovává se kód uvnitř cyklu. Je-li naopak jeho hodnota FALSE, provádění cyklu končí.

Na konci každé iterace se ohodnotí (provede) výraz expr3.

Každý z výrazů může být prázdný. Prázdný výraz expr2 znamená, že cyklus bude probíhat nekonečně dlouho (PHP, stejně jako C, implicitně předpokládá hodnotu TRUE). To nemusí být tak bez užitku, jak si můžete myslet. Často můžete totiž chtít ukončit cyklus pomocí podmíněného příkazu break, namísto použití pravdivostního výrazu v příkazu cyklu for.

Príklad pre PHP

Předpokládejme následující příklady. Všechny zobrazí čísla od 1 do 10:
/* příklad 1 */

for ($i = 1; $i <= 10; $i++) {
   print $i;
}

/* příklad 2 */

for ($i = 1;;$i++) {
   if ($i > 10) {
       break;
   }
   print $i;
}

/* příklad 3 */

$i = 1;
for (;;) {
   if ($i > 10) {
       break;
   }
   print $i;
   $i++;
}

/* příklad 4 */

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


První příklad samozřejmě vypadá nejlépe (nebo možná i ten čtvrtý), ale můžete přijít na to, že schopnost používat prázdné výrazy v cyklech for nemusí být někdy úplně k zahození.

PHP podporuje pro cykly for také alternativní "dvojtečkovou syntaxi".
for (expr1; expr2; expr3): statement; ...; endfor;


Jiné jazyky mají příkaz foreach k traverzování polí nebo hashů. V PHP 3 nic takového není, PHP 4 ano (viz foreach). V PHP 3 můžete k dosažení stejného efektu kombinovat while s funkcemi listeach. Příklady najdete v dokumentaci.