A PHP while loop

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!

Az oldal sütiket használ, hogy személyre szabjuk a tartalmakat és reklámokat, hogy működjenek a közösségi média funkciók, valamint hogy elemezzük a weboldal forgalmát. Bővebben a "Részletek mutatása" gombra olvashat.
Az oldal sütiket használ, hogy személyre szabja az oldalon megjelenő tartalmat és reklámokat.