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:
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:
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:
Ö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!