A PHP do...while loop

A PHP do...while loop

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 do...while ciklus szintaxisa némileg eltér a while ciklus szintaxisától, és a következő módon írható fel:
do {
    kivitelezendő kód;
} while (a feltétel igaz);

 

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:

PHP-kód:
$cookies = 0;
while ($cookies > 1) {
    echo 'Mmmmm... Imádom a sütiket! *nyamm, nyamm, nyamm*';
}
 

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:

$cookies = 0;
do {
    echo 'Mmmmm... Imádom a sütiket! *nyamm, nyamm, nyamm*';
} while ($cookies > 1);
 

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:

$x = 1;
 
do {
    echo 'A szám: ' . $x . '<br />;
    $x++;
} while ($x <= 5);
?>

 

Megjelenítés a böngészőben:

A szám: 1
A szám: 2
A szám: 3
A szám: 4
A szám: 5

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:

<?php
$x = 6;
 
do {
    echo 'A szám: ' . $x . '<br />;
    $x++;
} while ($x <= 5);
?>

 

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?

1. a megadott kód lefuttatása előtt
2. a megadott kód futtatása közben
3. a megadott kód lefuttatása után

 
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.

Szeretne értesülni, ha új cikk jelenik meg Számtek rovatunkban? Iratkozzon fel értesítőnkre!

E-mailben értesíteni fogjuk Önt az új cikkekről. Feliratkozáshoz kérjük adja meg a nevét és az e-mail címét.

Hozzászólások

Kapcsolódó cikkek

A PHP do...while loop
Számtek
  • Erdsoft
  • 2019.09.13.
  • LXXIV. évfolyam 36. szám
A PHP do...while loop
Számtek
  • Erdsoft
  • 2019.08.30.
  • LXXIV. évfolyam 35. szám
Facebook

Támogatóink