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φ:

for (expr1; expr2; expr3) statement

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:

/* 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φ 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.