
Előző három cikkünkben a PHP-loop különféle típusaival foglalkoztunk. Bemutattuk a while ciklus szintaxisát, a for ciklust, a múlt héten pedig a foreach ciklussal ismerkedtünk meg közelebbről.
Arra is kitértünk, melyik típust milyen esetben tudjuk a leghatékonyabban alkalmazni. Ma a ciklus témakör végéhez érkeztünk. Már csak annyi maradt hátra, hogy megismerkedjünk a while ciklus egyik módosított változatával: a do...while ciklussal. Vágjunk bele!
A do...while ciklus a while ciklus enyhén módosított változata, így a megértése nem lesz túl bonyolult feladat, ha gyakoroltad a while ciklust. Ismételjük át: a while ciklus esetében a feltételes állítás van ellenőrizve. Ha a feltételezés igaznak bizonyul, a while ciklusban található kód lefut. Ha a feltételezés hamis, a kód nem fut le. Ilyen egyszerű! A do...while ciklus esetében egy kicsit más a helyzet. Ez a ciklus mindig lefuttatja a kódot legalább egyszer. Ez azért van így, mert a feltételes állítás mindaddig nem lesz ellenőrizve, amíg a ciklus belsejében található kód nem fut le.
A do...while ciklus folyamata tehát a következő: a kódblokk egyszer lefut, majd a feltétel ellenőrzésen esik át, és ha a feltétel igaz, a ciklus megismétlődik. A ciklus addig ismétlődik, amíg a feltétel igaz.
A do...while ciklus szintaxisa
A while és a do...while ciklus közötti különbség
A két típus közötti különbséget a legkönnyebben egy olyan egyszerű példán tudjuk illusztrálni, amelynek esetében a feltételes állítás mindig hamis. Nézzük a példánkat, előbb a while ciklus esetében:
Megjelenítés a böngészőben:
Nem, nem nyomdahibáról van szó — a böngészőben valóban nem fog megjelenni semmi, hiszen a feltételezés hamis (0 nem nagyobb, mint 1), ezért a ciklus belsejében található kód nem futott le. Nos, kitalálod, mi fog történni a do...while ciklus esetében?
PHP-kód:
Megjelenítés a böngészőben:
Mmmmm... Imádom a sütiket! *nyamm, nyamm, nyamm*
A „Mmmmm... Imádom a sütiket! *nyamm, nyamm, nyamm*” kódrészlet le lett futtatva, annak ellenére, hogy a feltételes állítás hamis volt (0 továbbra sem nagyobb, mint 1). Ez azért van, mert a do...while előbb cselekszik, és csak azután ellenőriz, azaz előbb lefuttatja a kódrészletet, és csak utána ellenőrizi a feltételes állítás helyességét.
Nézzünk még néhány példát a do...while ciklus alkalmazására, hiszen így a legkönnyebb tanulni!
PHP-kód:
Megjelenítés a böngészőben:
A példában egy olyan ciklust határoztunk meg, amely $x = 1-gyel kezdődik. Ezután az $x változót mindig eggyel növeljük, és kiírjuk az eredményt. Ezután a feltételezés helyességét teszteljük — a ciklus addig fog futni, amíg az $x kisebb, mint 5, vagy egyenlő vele.
Ne feledjük, hogy a do...while ciklus esetében a feltételezést csak a kód lefuttatása UTÁN teszteljük. Vagyis a do...while ciklus legalább egyszer lefuttatja a kódot, akkor is, ha az állítás már az első alkalommal is hamis. Igen, ezt már sokszor mondtuk — de hogyan fest mindez a gyakorlatban? Lássuk!
PHP-kód:
Megjelenítés a böngészőben:
A szám: 6
Amint a példa is illusztrálja, a ciklus belsejében található kód lefutott, annak ellenére, hogy az állítás hamis (6 nem kisebb, mint 5, és nem is egyenlő vele).
Összegzés:
Elég nagy az esély arra, hogy a do...while kódot nem fogod gyakran alkalmazni a PHP-programozói karriered során. Nem árt azonban ismerni a működését, hiszen sosem tudni, mikor jön majd jól! Ezzel mai leckénk, illetve a ciklusokról szóló sorozatunk végére érkeztünk. Már csak egy kis gyakorlásra van szükség, és magabiztosan tudod majd használni a ciklusokat a különféle helyzetekben. Ha esetleg megakadnál valahol, bármikor visszaolvashatod korábbi cikkeinket is. Következő leckénkben elkalandozunk a PHP egy új területére — a post és a get módszerrel fogunk foglalkozni. Addig is javasoljuk, hogy elevenítsd fel a PHP-formokról szóló leckét — szükséged lesz rá!
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:
Mikor teszteljük le a megadott feltételezést a do...while ciklus esetében?
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.