A PHP while loop

A PHP while loop

A while loop viszonylag ritkán használt, mégis létező magyar megnevezése az előtesztelő ciklus. A loop, azaz a ciklus lényege, hogy valamit folyamatosan ismételjen, mindaddig, amíg a feladat el nem lesz végezve. Miért hasznos ez?

Nos, azt mindannyian tudjuk, mennyire unalmasak az ismétlődő feladatok — kiráz bennünket a hideg minden alkalommal, amikor egyenként kell törölnünk a felhalmozódott e-maileket, le kell zárnunk 50 borítékot, vagy bármilyen más, apró, ismétlődő elemekből álló feladatot kell elvégeznünk. A programozás egyik előnye, hogy egy kis kreativitással elkerülhetjük az ismétlődő feladatokat. Ezekhez szükséges a loop.

A PHP a loopok négy típusát támogatja, ezek röviden összefoglalva a következők:

while — a loop addig ismétlődik, amíg a megadott feltétel igaz,
for — a loop addig ismétlődik a kódblokkon, amíg a meghatározott feltétel hamis (false) nem lesz,
foreach — a loop a tömb minden elemére végigmegy a kódblokkon,
do...while — a kódblokk egyszer lefut, majd a feltétel kivizsgálásra kerül. Ha a feltétel igaz, az állítás addig ismétlődik, amíg az adott feltétel igaz.
 

Mai leckénk témája a while loop lesz, a többi típussal pedig a soron következő leckéinkben ismerkedhetsz meg!

Mielőtt azonban rátérnénk egy valódi példára, figyeljük meg a PHP while loop struktúráját!
 

A while loop felépítése

A while loop funkciója, hogy addig végezzen egy feladatot újra és újra, amíg a meghatározott feltételes állítás igaz. Az alapelv ugyanaz, mint a PHP if statement esetében — ugye, emlékszel még az if állításra? Ha nem, gyorsan olvass vissza, hogy felelevenítsd a korábban tanultakat! Az if állítás feladata, hogy meghatározza egy állítás igaz vagy hamis voltát. A while loop úgy is elképzelhető, mint egy folyamatosan ismétlődő if állítás. Lássuk a PHP while loop alapstruktúráját:
 

PHP-kód:

while (a feltétel igaz){
              //kivitelezendő kód;
}
 

A while állítás tehát addig ismétlődik a kódblokkon, amíg a kivizsgálandó állítás igaz. Fontos megemlíteni, hogy (és ezt te is biztosan észrevetted) ez nem egy valid PHP-kód, csak a while loop struktúrájának bemutatása. Figyeljük meg lépésről lépésre, mi történik a while loop kivitelezése során:

1. A feltételes állítás kivizsgálásra kerül. Ha igaz, akkor a 2. eset lép fel. Ha hamis, akkor a 4. eset érvényes.
2. A while loopban tartalmazott kód lesz kivitelezve.
3. A folyamat megismétlődik az 1. lépéstől. Ez a loop.
4. Ha az állítás hamis, a kód nem lesz kivitelezve, és nincs több ismétlődés. A while loop után következő kód normálisan fut.
 

Egy valódi példa a while loopra

Egyik korábbi cikkünkben már „árultunk” művészeknek való kellékeket — maradjunk most is ennél a példánál. Tegyük fel, hogy szeretnénk kilistázni az adott mennyiségű ecset árát. Az ecset ára változatlan, de fel akarjuk tüntetni a csomagonkénti árakat, hogy ne a látogatónak kelljen fejben számolnia. Erre az unalmas és ismétlődő feladatra alkalmazhatjuk a while loopot. Lássuk, hogyan festene ez a gyakorlatban:
 

PHP-kód:

$brush_price = 5;
$counter = 10;
 
echo '<table border="1" align="center">';
echo '<tr>';
echo '<th>Mennyiség</th>';
echo '<th>Ár</th>';
echo '</tr>';
while ($counter <= 100) {
  echo '<tr>';
  echo '<td>' . $counter . '</td>';
  echo '<td>' . $brush_price * $counter . '</td>';
  echo '</tr>';
  $counter = $counter + 10;
}
echo '</table>';

 

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

 

Elég menő, nem igaz? A loop létrehozott egy új sort minden mennyiségre, beírta a megfelelő árakat, mindaddig, amíg a számláló el nem érte a 100-at. Amikor a számláló nagyobb lett, mint 100, a feltételes állítás hamis lett, ezért a loop leállt. Nézzük, pontosan mi is történt:

1. Létrehoztuk a $brush_price és $counter változókat, majd kiegyenlítettük őket a kívánt értékekkel.
2. Beállítottuk a táblázatot a kezdőcímkékkel és a fejléccel.
3. A while loop feltételes állítása kivizsgálásra került — a $counter változó (10) valóban kisebb, mint 100, vagy egyenlő vele.
4. A loopban található kód le lett futtatva, ami egy új sort hozott létre a táblázatban, mely 10 ecset árát tartalmazta.
5. Ezután a $counterhez hozzáadtunk 10-et, így 20-at kaptunk.
6. A loop folyamatosan ismételte a 3. lépést, mindaddig, amíg a $counter nem lett nagyobb 100-nál.
7. Miután a loop leállt, a táblázatot bezártuk.
 

Összegzés:

A while loop helyes használatával hosszadalmas, ismétlődő és unalmas feladatokat tudunk könnyedén végrehajtani — hidd el, sokat fogod használni a PHP-programozói karriered során. Következő leckéinkben bemutatjuk a loop többi típusát is, kövess bennünket figyelemmel!

 


 

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:

Meddig ismétlődik a while loop?
1. Amíg kávézol.
2. Amíg a megadott feltétel hamis.
3. Amíg a megadott feltétel igaz.

 
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 while loop
Számtek
  • Erdsoft
  • 2019.09.13.
  • LXXIV. évfolyam 36. szám
A PHP while loop
Számtek
  • Erdsoft
  • 2019.08.30.
  • LXXIV. évfolyam 35. szám
Facebook

Támogatóink