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 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 " .






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 .