195
Sintaksisi:
do (bajarishbloki) while (shart);
misol. do...while
operatori
1 dan 10 gacha bo'lgan juft sonlarni chiqazing.
do { if ($n%2==0) echo $n. "
"; $n++; }
while ($n<=10) ?>
FOR sikli Sintaksisi:
for (amall; shart; amal2){bajarish_bloki;}
amall — faqatgina bir marotaba sikl boshida bajariladi. Odatda, bunda
hisoblagichning boshlang'ich qiymati beriladi.
shart — shart har bir iteratsiyada tekshiriladi. Agar shart false qiymatni qabul
qilsa, u holda iteratsiya to'xtatiladi. Odatda, shartda hisoblagich qiymati bilan
berilgan qiymat solishtiriladi.
amal2 — hisoblagich qiymatini o'zgartirish uchun
ishlatiladi va iteratsiya
oxirida bajariladi.
bajarish bloki — har bir iteratsiyada bir marotaba bajariladi. Odatda, bu yerda
o'zida kodlar blokini jamlagan sikl tanasi joylashadi.
amall, shart, amal2 laming har biri bo'sh bo'lishi mumkin. Agar shart bo'sh
bo'lsa, bu siklning aniqlanmagan vaqtda bajarilishi ke- rakligini bildiradi (bu holda
php shartni hamma vaqt rost deb hisob- laydi). Bu sikl foydasizdek ko'rinishi
mumkin, aslida esa bu hollarda siklni break operatorini qo'llash bilan ham
to'xtatish mumkin.
misol. 1 dan 10 gacha bo'lgan toq sonlarni chiqazing.
for ($n=l; $n<=10; $n++)
{ if ($n%2!=0) echo $n. "
"; }
?>
Shu misolni $n<=10 shartni ishlatmasdan, break
operatorini qo'llab yozish mumkin.
for ($n=l;;$n++) { if ($n%2!=0) echo $n. "
";
if ($n>=10) break; }
?>
misol. 1 dan 50 gacha bo'lgan sonlarning yig'indisini hisob- lang.
for($i=l;$i<=50;$i++) { $sum=$sum+$i; }
echo "1 dan 50 gacha bo'lgan sonlar yig'indisi - $sum";
?>
Natija:1 dan 50 gacha bo'lgan sonlar yig'indisi - 1275
Foreach
Bu operator massivlar bilan ishlash uchun mo'ljallangan bo'lib, PHP ning 4
versiyasida kiritilgan. Turli tipdagi massivlar uchun foreach operatorining ikki xil
ko'rinishi mavjud. Sintaksisi:
foreach ($array as $value) {bajarishbloki} yoki
196
foreach ($array as $key=> $value) {bajarish_bloki} Birinchi navbatda $array
o'zgaruvchisiga berilgan massivning hamma elementlari bo'yicha sikl shakllanadi.
Siklning har bir qadamida massivning joriy elementi qiymati $value
o'zgaruvchisiga yoziladi va massivning ichki hisoblagichi bir birlikka o'zgaradi
(shuning uchun keyingi qadamda massivning keyingi elementi ko'rinadi).
bajarish_bloki ichida massivning joriy elementi qiymati $value o'zgaruvchisi
yordamida olinadi va $array o'zgaruvchisida nechta element bo'lsa, bajarish_bloki
shuncha marta amalga oshiriladi.
foreach massivining ikkinchi tur sintaksisida esa, yuqoridagiga qo'shimcha
ravishda, siklning har bir qadamida massivning joriy elementi kaliti $key
o'zgaruvchisiga yoziladi va uni ham bajarish_ bloki ichida qo'llash mumkin.
foreach o'z
ishini boshlaganda, massivning ichki ko'rsatkichi av- tomatik
tarzda birinchi elementga o'rnatiladi.
misol. Foreach operatori
$names = array("Lola", "Karim", "Kamol");
foreach ($names as $val) {
echo "$val
"; }
?>
Natija: Lola
Karim
Kamol
Ikkinchi turi assotsiativ massivlar uchun ishlatiladi.
misol. Foreach operatori
$names = array( "Lola"=>7, "Karim"=>9, "Kamol"=>15); foreach ($names as
$i=>$tartib_nomer)
{ echo "$i ro'yxatda $tartib_nomer nomerida.
"; }
?>