Join Up!
104882 members and counting!

 
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links 
search for in the  
previousdo..whileforeachnext
Last updated: Sun, 27 Oct 2002
view the printer friendly version or the printer friendly version with notes or change language to Finnish | German | Spanish

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.

User Contributed Notes
for
add a note about notes
There are no user contributed notes for this page.
previousdo..whileforeachnext
Last updated: Sun, 27 Oct 2002
Copyright © 2001, 2002 The PHP Group
All rights reserved.
This mirror generously provided by: http://phpbuilder.com/
Last updated: Thu Oct 31 18:34:28 2002 EST