for
Cykly for jsou nejsložitějšími cykly v PHP. Chovají se
stejně, jako jejich soukmenovci v C. Syntaxe cyklu for
je následující:
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 konstruktu cyklu
for.
Předpokládejme následující příklady. Všechny zobrazí čísla od 1 do 10:
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".
Jiné jazyky mají konstrukt 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
list() a each(). Příklady najdete
v dokumentaci.