Ko pišemo kodo pogosto želimo, de se isti blok kode ponovi/izvaja vedno znova za določeno število krat. Tako lahko namesto dodajanja več skoraj enakih vrstic v skriptu uporabimo zanke. Zanke se uporabljajo za izvajanje istega bloka kode znova in znova, dokler je pogoj resničen. Poglejmo si najpogosteje uporabljene zanke, vključno z break in continue, ki nista zanki, ampak z njima lahko zanko urejamo. Vsaka od teh zank ima svoje prednosti in je primerna za različne situacije.
Uporablja se, kadar je število ponovitev vnaprej znano.
<?php echo "\nfor zanka:\n"; for ($i = 0; $i < 10; $i++) { echo "Številka je: $i\n"; }
C:\xampp\php\php.exe -c C:\xampp\php\php.ini "C:\Users\" for zanka: Številka je: 0 Številka je: 1 Številka je: 2 Številka je: 3 Številka je: 4 Številka je: 5 Številka je: 6 Številka je: 7 Številka je: 8 Številka je: 9 Process finished with exit code 0
Izvajanje se nadaljuje, dokler je dani pogoj resničen.
<?php echo "\nwhile zanka:\n"; $i = 0; while ($i < 10) { echo "Število je: $i\n"; $i++; }
C:\xampp\php\php.exe -c C:\xampp\php\php.ini "C:\Users\" while zanka: Število je: 0 Število je: 1 Število je: 2 Število je: 3 Število je: 4 Število je: 5 Število je: 6 Število je: 7 Število je: 8 Število je: 9 Process finished with exit code 0
Podobna while zanki, vendar se blok kode izvede vsaj enkrat, preden se preveri pogoj.
<?php echo "\ndo-while zanka:\n"; $i = 0; do { echo "Število je: $i\n"; $i++; } while ($i < 10);
C:\xampp\php\php.exe -c C:\xampp\php\php.ini "C:\Users\" do-while zanka: Število je: 0 Število je: 1 Število je: 2 Število je: 3 Število je: 4 Število je: 5 Število je: 6 Število je: 7 Število je: 8 Število je: 9 Process finished with exit code 0
Uporablja se za iteracijo čez elemente matrike.
<?php echo "\nforeach zanka:\n"; $array = ["jabolko", "banana", "pomaranča"]; foreach ($array as $fruit) { echo "Sadje: $fruit" . PHP_EOL; }
C:\xampp\php\php.exe -c C:\xampp\php\php.ini "C:\Users\" foreach zanka: Sadje: jabolko Sadje: banana Sadje: pomaranča Process finished with exit code 0
Uporablja se, za prekinitev zank.
<?php echo "\nbreak primer:\n"; for ($i = 0; $i < 10; $i++) { if ($i == 5) { break; // Prekine zanko, ko je $i enak 5 } echo "Številka je: " . $i . "\n"; } echo "Pri številki 5 se zanka ustavi.\n";
C:\xampp\php\php.exe -c C:\xampp\php\php.ini "C:\Users\" break primer: Številka je: 0 Številka je: 1 Številka je: 2 Številka je: 3 Številka je: 4 Pri številki 5 se zanka ustavi. Process finished with exit code 0
Uporablja se za preskok preostalega dela trenutne iteracije zanke.
<?php echo "\ncontinue primer:\n"; for ($i = 0; $i < 10; $i++) { if ($i % 3 == 0) { continue; } echo "Številka je: $i\n"; }
C:\xampp\php\php.exe -c C:\xampp\php\php.ini "C:\Users\" continue primer: Številka je: 1 Številka je: 2 Številka je: 4 Številka je: 5 Številka je: 7 Številka je: 8 Process finished with exit code 0