Sei sulla pagina 1di 17

Strukturat e kontrollit

if... then...else

if (expression) if (expression) :
{ statement block
statement block else :
} statement block
else endif;
{
statement block
}
while
while (expression) while (expression) :
{ statement block
statement block endwhile;
}

Shembull: Llogaritja e n-faktorialit (n!), ku n = 5:


$n = 5;
$ncopy = $n;
$factorial = 1; // set initial factorial value
while ($n > 0) :
$factorial = $n * $factorial;
$n--; // decrement $n by 1
endwhile;
print "The factorial of $ncopy is $factorial.";

//Afishohet: The factorial of 5 is 120.


do…while

do
{
statement block
} while (expression);

Shenim: Cikli do..while nuk suporton sintaksen me dy pika [:]


dhe lejon vetem perdorim te kllapave te perdredhura {}.
do…while

Shembull:
$n = 5;
$ncopy = $n;
$factorial = 1; // set initial factorial value
do {
$factorial = $n * $factorial;
$n--; // decrement $n by 1
} while ($n > 0);
print "The factorial of $ncopy is $factorial.";
for

for (initialization; condition; increment) for (initialization; condition; increment) :


{ statement block
statement block endfor;
}

Shembull:
for ($i = 10; $i <= 100; $i+=10) :
print "\$i = $i <br>"; // escaping backslash to suppress
// conversion of $i variable.
endfor;

Ky kod afishon : $i = 10
$i = 20

$i = 100
Shenim: Cikli for i mesiperm mund te shkruhet edhe si
for ($i = 10; $i <= 100; print "\$i = $i <br>", $i+=10) ;
for
 Mund te inicializohen edhe disa variabla njekohesisht, duke e ndare
secilin variabel me presje:
for ($x=0, $y=0; $x+$y<10; $x++) :
$y +=2; // increment $y by 2
print "\$y = $y <BR>"; // print value of $y
$sum = $x + $y;
print "\$sum = $sum<BR>"; // print value of $sum
endfor;

Ky kod afishon:
$y = 2
$sum = 2
$y = 4
$sum = 5
$y = 6
$sum = 8
$y = 8
$sum = 11
for
 Ne ciklin for edhe mund te hiqet ndonje kusht, si
psh:
$x = 5;
for (; ; $x += 2) :
print " $x ";
if ($x == 15) :
break; // break out of this for loop
endif;
endfor;

 Ky kod afishon:
5 7 9 11 13 15
foreach

 Struktura foreach eshte nje variacion i


struktures for, per te lehtesuar punen me
vektoret. Ka dy forma te pergjithshme te
foreach, ku secila ka qellimin e vet specifik:
foreach (array_expression as $value)
{
statement
}
foreach (array_expression as $key => $value)
{
statement
}
foreach

$menu = array("pasta", "steak", "potatoes", "fish",


"fries");
foreach ($menu as $item)
{
print "$item <BR>";
}
 Ky kod afishon
pasta
steak
potatoes
fish
fries

 Struktura foreach kalon automatikisht ne pozicionin


fillestar te vektorit.
 Nuk ka nevoje te inkrementohet numeruesi sepse kjo
realizohet automatikisht nga struktura foreach.
foreach
 Menyra e dyte perdoret per vektoret e shoqeruar :

$wine_inventory = array ( "merlot" => 15,


"zinfandel" => 17,
"sauvignon" => 32 )
foreach ($wine_inventory as $i => $item_count)
{
print "$item_count bottles of $i remaining<BR>";
}

 Ky kod afishon:
15 bottles of merlot remaining
17 bottles of zinfandel
remaining
32 bottles of sauvignon
remaining
switch

switch (expression)
{
case (condition) :
statement block
case (condition) :
statement block
...
default :
statement block
}
break

 break perdoret per te dale menjehere nga struktura while,


for, ose switch ne te cilen ajo permbahet. Sintaksa eshte
:
 break n;
 Opsioni n qe vijon pas thirrjes se break percakton se sa
nivele strukturash kontrolli duhet te perfundojne kur
ekzekutohet shprehja break.
 Per shembull nese nje break eshte e futur brenda dy
shprehjeve while dhe ekzekutohet break 2; atehere te dy
ciklet while do te perfundojne menjehere.
 Vlera default per n eshte 1.
 Kujdes: Break nuk e konsideron si strukture kontrolli
shprehjen if, prandaj nuk perdoret per te dale nga struktura
if.
continue
 Ekzekutimi i nje shprehjeje continue ne nje cikel iterativ,
do te beje qe te kapercehet pjesa e mbetur e iteracionit
aktual te ciklit, dhe fillon nje iteracion te ri. Sintaksa e
pergjithshme eshte:
 continue n;

 Opsioni n vepron si i kunderti i opsionit n qe shoqeron


shprehjen break, duke percaktuar se deri ne fundin e sa
niveleve te cikleve, duhet te kaperceje shprehja continue.

 Shembull: Supozojme se duam te numerojme numrat


prim ndermjet 0 dhe nje kufiri te caktuar. Per thjeshtesi,
supozojme se kemi shkruar nje funksion qe percakton
nese nje numer eshte prim apo jo. Kete funksion po e
quajme is_prime():
continue
$boundary = 558;
for ($i = 0; $i <= $boundary; $i++) :
if ( ! is_prime($i)) :
continue;
endif;
$prime_counter++;
endfor;

Nese numri eshte prim, atehere blloku i shprehjes if do te kapercehet dhe


$prime_counter do te inkrementohet. Perndryshe do te ekzekutohet
shprehja continue, pra do te kalohet ne fillim te ciklit.
 Shprehja continue, sigurisht nuk eshte e domosdoshme, meqe
shprehjet if do te arrijne te njejtin rezultat.
 Shenim: Perdorimi i continue ne algoritme te gjate dhe komplekse
mund te rezultoje ne kod te paqarte dhe te ngaterrueshem,
prandaj rekomandohet qe te shmanget perdorimi i kesaj shprehjeje
ne te tilla raste.
break
$arr = array(14, 12, 128, 34, 5);
$magic_number = 128;
foreach ($arr as $val) :
if ($val == $magic_number) :
print "The magic number is in the array!";
break;
endif;
print "val is $val <br>";
endforeach;

 Nese magic number gjendet ne vektorin $arr, atehere


nuk ka nevoje qe te vazhdohet kerkimi. Rezultati do te
jete:
val is 14
val is 12
The magic number is in the array!
Pyetje ?

Potrebbero piacerti anche