
Előző leckénkben bemutattuk a while loopot, vagyis az előtesztelő ciklust. Mai cikkünkben még egy lépést haladunk előre, és bemutatjuk a következő típust, a for loopot.
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:
- Amikor a számláló kezdeti értékét szeretnénk beállítani.
- Amikor ellenőrizni szeretnénk, hogy a feltételes állítás igaz-e.
- Amikor le akarjuk futtatni a kódot a cikluson belül.
- Amikor módosítani szeretnénk a számlálót minden iteráció végén, a teljes cikluson keresztül.
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ő:
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ő:
- Inicializálás — Ezzel a paraméterrel határozzuk meg a számláló értékét, mellyel a loop indul.
- Feltétel — A feltétel minden iteráció elején ellenőrizve van. Ha a feltétel igaz, a loop folytatódik, és a beágyazott állítások lefutnak. Ha az állítás hamis, a loop befejeződik.
- Módosítás — Ez a paraméter minden iteráció végén módosítja a számlálót egy új értékkel.
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
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:
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:
- while — a ciklus addig ismétlődik, amíg a megszabott feltétel igaz,
- for — a ciklus addig ismétlődik a kódblokkon, amíg a megszabott feltétel hamis nem lesz (false),
- foreach — a ciklus a tömb minden elemére külön lefut a kódblokkon,
- do...while — a kódblokk egyszer lefut, majd a feltétel ki lesz vizsgálva. Ha a feltétel igaz, az állítás addig ismétlődik, amíg a feltétel igaz.
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!
NYEREMÉNYJÁTÉK!
Rovatunk elsődleges célja, hogy közelebbről is bemutassa a legismertebb webtechnológiákat. Azok között az olvasók között, akik minden héten követik rovatunkat, azaz velünk tanulják a programozás alapjait és kitöltik a feladatsort, a sorozat végén egy laptopot sorsolunk ki.
Heti kérdés:
A választ a tanulok@erdsoft.com e-mail-címre kell elküldeni, a tárgysorba pedig
a következőt kell beírni: HÉTNAP-TANULOK. Sok szerencsét!
Néhány szó rólunk:
Az ErdSoft (www.erdsoft.com) 2011-ben alakult meg. Csapatunkat a fiatalos lendület, a szakértelem, a folyamatos tanulás és tapasztalatgyűjtés jellemzi. Ügyfeleinknek igyekszünk teljes körű szolgáltatást nyújtani — bátran fordulhatnak hozzánk, legyen szó webfejlesztésről, alkalmazásokról, SEO-optimalizálásról, grafikai tervezésről, marketingről vagy szövegírásról. Csapatunk sikerét mi sem bizonyítja jobban, mint a több száz elkészült weboldal és a számos elégedett ügyfél Szerbiában, Magyarországon és az Egyesült Királyságban.