Nakon „If“ strukture prelazimo na obradu najjednostavnijeg tipa petlji u PHP-u, a to je „While“ petlja. Struktura i sintaksa u PHP-u je vrlo sliฤna sintaksi ove petlje u programskom jeziku C:
while (izraz)
naredbe
Semantika same petlje je vrlo jednostavna, ona „kaลพe“ PHP-u da ponavlja izvrลกavanje ugraฤenih naredbi, sve dok je ispunjen uslov, tj. dok je vrednost „izraza“ TRUE. Vrednost izraza se proverava samo na svakom poฤetku ponavljanja petlje, tako da ako se ova vrednost promeni tokom izvrลกavanja ugneลพdenih instrukcija, izvrลกenje se neฤe prekinuti do kraja date iteracije. U sluฤaju da je vrednost „izraz“-a FALSE, neฤe se izvrลกiti ugneลพdene naredbe, a izvrลกenje programa ฤe se prebaciti na sledeฤu instrukciju koja dolazi nakon petlje.
Kao i kod „IF“ grananja, i ovde moลพete grupisati viลกe instrukcija unutar jedne „While“ petlje, i to uz pomoฤ vitiฤastih zagrada, ili uz koriลกฤenje alternativne sintakse:
while (izraz) :
…naredbe…
endwhile;
U sledeฤim redovima moลพete videti dve „While“ petlje, napisane na dva naฤina, koje „ลกtampaju“ cifre od 1 do 10:
<?php
/* 1. primer */$a= 1;
while ($a <= 10) {
print $a++;
}/* 2. primer */
$a = 1;
while ($i <= 10):
print $a;
$a++;
endwhile;?>
Kao ลกto vidite, ovde smo upotrebili inkrementalni operator (++) koji uveฤava vrednost varijable „$a“, i to nakon njenog ลกtampanja.
Sliฤna prethodnoj „While“ petlji je „Do…While“ petlja, a razlika je samo u poziciji proveravanja „izraz“-a. Kod ove petlje provera istinosne vrednosti izraza se vrลกi na kraju petlje svake iteracije. Glavna razlika je u tome ลกto ฤe se kod ove druge petlje (do…while) prva iteracija svakako izvrลกiti, za razliku od „While“ gde se moลพda neฤe izvrลกiti ni jedna iteracija (u sluฤaju da je vrednost izraza FALSE).
<?php
$a = 0;
do {
print $a;
} while ($a>0);
?>
Prethodna petlja ฤe se izvrลกiti taฤno jedanput, jer se nakon prve iteracije proverava izraz ($a>0), koji ฤe imati vrednost FALSE. Zbog ove vrednosti izraza petlja ฤe prekinuti dalje izvrลกavanje.
Pratite Krstaricu na www.krstarica.com