A for loop egy while loop, melyhez hozzáadtunk még egy kis kódot. A for loop esetében a ciklus addig ismétlődik a kódblokkon, amíg a számláló el nem ér egy meghatározott értéket.
A for loop számos esetben lehet hasznos:
A for loop lehetővé teszi, hogy az összes felsorolt lépést egy egyszerű kóddal valósítsuk meg. Első ránézésre bonyolultnak tűnhet, és ezúttal valóban egy szokatlan formáról van szó, ezért figyeld meg alaposan a szintaxist, melyet használunk!
A for loop felépítése
Térjünk vissza a while loop leckénkben használt példához, és figyeljük meg, hogyan festene a for loop esetében. A for loop alapstruktúrája a következő:
for (számláló inicializálása; feltételes állítás; számláló módosítása){
kivitelezendő kód;
}
Megfigyelheted, hogy a loop minden lépéséről gondoskodtunk a for loop állításon belül. Minden lépés pontosvesszővel (;) van elválasztva: a számláló inicializálása, a feltételes állítás és a számláló növelése. A pontosvesszőre azért van szükség, mert külön kifejezésekről van szó. A „számláló módosítása” kifejezés után azonban már nincs rá szükség.
A for loop paramétereinek jelentése a következő:
Nézzünk egy nagyon egyszerű példát, ahol a loop a $i=1 értékkel kezdődik. A loop addig fut, amíg $i kisebb vagy egyenlő 3-mal. Az $i változó minden alkalommal növekszik 1-gyel, amikor a loop lefut.
PHP-kód:
<?php
for ($i=1; $i<=3; $i++){
echo 'A szám ' . $i . '<br />';
}
?>
Nem is annyira bonyolult, nem igaz? Mutatunk még egy reális példát — és ezzel vissza is kanyarodtunk az előző leckénk példájához. Emlékszel még, hogy művészeti kellékekkel foglalkoztunk, és az ecsetek árát listáztuk ki? A while loop feladata az volt, hogy időt takarítson meg a programozónak, és automatikusan kilistázza az ecsetek csomagonkénti árát. Nézzük, hogyan festene a példánk a for loop esetében!
PHP-kód:
$brush_price = 5;
echo '<table border="1" align="center">';
echo '<tr>';
echo '<th>Mennyiség</th>';
echo '<th>Ár</th>';
echo '</tr>';
for ($counter = 10; $counter <= 100; $counter += 10) {
echo '<tr>';
echo '<td>' . $counter . '</td>';
echo '<td>' . $brush_price * $counter . '</td>';
echo '</tr>';
}
echo '</table>';
A kód nagy része már ismerős az előző heti példánkból, így ezúttal ezt nem magyaráznánk el. Ami most fontos, az a for ($counter = 10; $counter <= 100; $counter += 10) sor. Az első paraméterünk határozza meg a kiinduló értéket, mely esetünkben 10 — azaz 10 ecset található egy csomagban. A második paraméter határozza meg a feltételt: a loop addig fut, amíg a feltétel igaz. Példánkban az a feltétel, hogy a számláló kisebb legyen, mint 100, vagy egyenlő vele — mert a legnagyobb csomagban 100 ecset van. Az utolsó paraméter mutatja, mennyivel növekszik minden egyes iteráció után a számláló — esetünkben ez 10.
Megjelenítés a böngészőben:
Mennyiség | Ár |
10 | 50 |
20 | 100 |
30 | 150 |
40 | 200 |
50 | 250 |
60 | 300 |
70 | 350 |
80 | 400 |
90 | 450 |
100 | 500 |
Fontos megjegyezni, hogy az árlista létrehozása esetében a for loop és a while loop is tökéletesen elvégzi a feladatot, viszont a for loop kompaktabb, illetve ebben a helyzetben alkalmasabb a feladat elvégzésére. Soron következő leckéinkben arra is kitérünk majd, milyen esetekben érdemes a while loopot alkalmazni a for loop helyett.
Összegzés:
Ezzel a for loopról szóló leckénk végére értünk. A PHP által támogatott négy típusú loop közül tehát már megismerkedtünk a while és a for looppal. Következő két cikkünkben bemutatjuk a foreach és a do...whileloop alkalmazását. Végezetül ismételjük át, melyik típus mire alkalmas:
Ha az eddigi két típust nem találtad túlzottan bonyolultnak, a következő két loop sem fog különösebb nehézségeket okozni. Jó gyakorlást az eddig bemutatott két típushoz!