PHP – „For“ petlja

Za razliku od „jednostavne“ sintakse „While“ petlje, „For“ petlja ima najsloženiju sintaksu u PHP-u (vrlo sličnu C-u). Struktura i sintaksa je ove petlje je sledeća:


for (izraz1; izraz2; izraz3)
naredba

Prvi izraz (izraz1) se proverava (izvršava) samo jednom (bezuslovno), i to na početku petlje. Na početku svake iteracije proverava se drugi izraz (izraz2). Ukoliko je istinosna vrednost ovog izraza TRUE, petlja se nastavlja i izvršava se ugneždena instrukcija(e). Ukoliko je vrednost izraza FALSE, prekinuće se izvršavanje petlje. Takođe, na kraju svake iteracije petlje proverava se (izvršava se) treći izraz (izraz3).

Svaki od nabrojanih izraza može biti „prazan“, tj. ne mora sadržati nikakav izraz. Ako je na primer, drugi izraz „prazan“ petlja će se ponavljati nedefinisan broj puta. Možda vam ova mogućnost na prvi pogled nema smisla, ali sve do momenta kada ovu mogućnost budete upotrebili sa uslovnom instrukcijom „break“. Razmotrite sledeći primer:


<?php
/* 1. primer */

for ($a = 1; $a <= 10; $a++) {
print $a;
}

/* 2. primer */

for ($b = 1;;$b++) {
if ($b > 10) {
break;
}
print $b;
}

/* 3. primer */

$c = 1;
for (;;) {
if ($c > 10) {
break;
}
print $c;
$c++;
}

/* 4. primer */

for ($d = 1; $d <= 10; print $d, $d++) ;
?>


Od ova četiri primera, prvi je svakako najjasniji. U drugom primeru je prikazan „prazan“ drugi izraz, pa imamo nedefinisan broj iteracija petlje. Ali, tu smo upotrebili „If“ grananje i instrukciju „break“, kojom izlazimo iz petlje (petlja se prekida) kada vrednost varijable „$b“ bude 11 (nakon toga vršimo štampanje vrednosti varijable). Treći primer je specifičan jer su sva tri izraza „prazna“ (nedefinisana). Tako da će se data petlja izvršavati u zavisnosti od prirode ugneždenih naredbi. PHP naravno, obezbeđuje i alternativno definisanje „For“ petlje (sa dvotačkom):


for (izraz1; izraz2; izraz3):
…naredba; …;
endfor;

Pratite Krstaricu na www.krstarica.com