PHP kézikönyv
Előző
12.
Fejezet.
Vezérlési szerkezetek
Következő
A for cilus a legbonyolultabb ciklus a PHP-ben.
Éppen úgy viselkedik, mint a C nyelvbeli párja (– C-ben értőknek tovább gomb).
A for ciklus szintaxisa:
for (kif1; kif2; kif3) utasítás
[A fenti for szerkezettel megegyező az alábbi, remélhetőleg már ismerős kifejezés:
kif1; while (kif2) {utasítás; kif3;}
Az első kifejezés (kif1) a ciklus kezdetén egyszer kerül végrehajtásra.
Minden iteráció elején kif2 kiértékelődik.
Ha értéke TRUE, akkor a ciklus folytatódik, és az utasítás ra kerül a vezérlés.
Ha értéke FALSE, akkor a ciklus véget ér.
Minden iteráció végén kif3 is végrehajtásra kerül.
Bármelyik kifejezést el lehet hagyni.
Ha kif2 üres, az azt jelenti, hogy a ciklus a végtelenségig fut [hacsak nem jön a jó tündér break utasítás képében...] (A PHP implicit TRUE -nak feltételezi az üres kif2 -t, mint a C.) Ez nem annyira haszontalan, mint elsőre amennyire elsőnek tűnik, hiszen gyakran fejezheted be a ciklust egy feltételes kifejezésbe ágyazott break kifejezéssel a for feltétel kifejezésének kiértékelése helyett.
Nézd az alábbi példákat, mindegyikük kiírja a számokat 1-től 10-ig:
/* téma * / for ($i = 1; $i = 10; $i++) {print $i;} / * 1. variáció * / for ($i = 1;;$i++) {if ($i 10) {break;} print $i;} / * 2. variáció * / $i = 1; for (;;) {if ($i 10) {break;} print $i; $i++;} / * 3. variáció - Coda: -) * / for ($i = 1; $i = 10; print $i, $i++);
Természetesen "a téma" a legbarátságosabb (vagy esetleg a 3. variáció).
Sok helyen hasznos azonban, hogy üres kifejezés is írható for ciklusba...
A PHP a for ciklus esetén is megengedi az alternatív szintaxis használatát:
for (kif1; kif2; kif3): utasítás;...; endfor;
Más nyelvekben létezik az ún. foreach szerkezet tömbök vagy hash-ek bejárására.
A PHP 3-ban nincs ilyen, de a PHP 4-ben implementálták (lásd: foreach).
PHP 3-ban a while, a list() és az each() szerkezeteket használhatod erre a célra.
Nézd meg ezeknek a dokumentációját alkalmazási példákért.
Előző
Tartalom
Következő
Fel