|
Salam. Bu günkü dərsimiz while, do … while və for
haqda olacaq Yəqin ki sizlər üçün də maraqlı olar. Dərsə başlayaq!
Bu əmrlər dövr əmləri adlanır.
Birinci olaraq while dan bəhs edək. Kecən dərs içərisində bu əmr
olan kodu incələmək üçün sizin ixtiyarınıza vermişdim.
Dövrlərdə ən önəmli şey dövrün sonsuz olaraq dönməməsini təmin etməkdir. Dövrlər
əmr yerinə gələnə qədər təkrarlanır. əmr yerinə gəlmədiyi təqdirdə dövr sonsuza
qədər gedər və proqram xəta verər. Bu əmrin yazılış qaydası:
while ( şərt ) {
şərt doğru olarsa yerinə yetriləcək digər əmrlər
}
Alternativi isə
while ( şərt ) :
şərt doğru olarsa yerinə yetriləcək əmrlər
endwhile;
İndi while aid bir misal göstərək. Aşağdakı kodu dovr.php
olaraq save edin.
<?php
print "Riyaziyyatdaki reqemler: <br>\n" ;
$i=0 ;
while ( $i<=9) {
print "<b>$i</b><br>\n" ;
$i++ ;
}
?>
Bu kodu işlətdiyinizdə qarşınıza yuxardakı kimi bir pəncərə çıxacaq. Çünki
Dövrdə birinci olaraq print əmri ilə Riyaziyyatdaki reqemler sozunu yazdiq, sonra
i dəyişəninə 0 dəyərini verdik. Ardındn isə while dövrünü əmr sətrinə dəyişənin
9 a gələnə qədər dövr edəcəyini istədik. Sonra print ilə həmi dəyərin çap olunmasını
istədik çünki dəyişənin dəyəri dövr hər dəfə təkrarlananda dəyişəcək. Son olaraq
dəyişənin önünə ++ işarəsi qoyduq ($i++) bu + lar sayğac vəzifəsini yerinə yetirir.
Bu olmasa dövr sonsuza gedər və kod xəta verər. (Riyaziyyatdakı Limit kimi).
do … while dövrü əmri
Buda eyni while kimi məlum bir şərtə bağlanaraq istənilən qədər döv edər. Dövrün
yazılış qaydası aşağdakı kimidir:
do {
şərt doğru isə görüləcək işlər
}
while (şərt) ;
misal:
<?
$i=0;
print "Riyaziyyatdaki reqemler:";
do {
print " $i " ;
$i++;
}
while ($i<10);
?>
Göründüyü kimi birinci print "Riyaziyyatdaki reqemler:";
işləyir. Sonra do …while.
while ($i<0) ;
olarsa ne olar? Sadəcə bir dəfə dövr edər yəni 0 yazar.
For dövrü əmri
for dövrü eyni ilə while kimi işlənir və sayğac vəzifəsini yerinə yetirən dəyişən
əmr sətrində yazıldığı üçün dövrün sonsuza getmə ehtimalı aşağıdır. Əgər sayğac
dəyişəni qoyulmazsa for sonsuza getməz. Xəta verər. Yazılış qaydası aşağdakı kimidir:
for ( dəyişən; şərt; əlavə şərt) {
şərt doğru isə görüləcək işlər
}
Misala baxaraq dövrü başa düşək:
<?
print "Riyaziyyatdaki reqemler:";
for($i=0; $i<=9; $i++) {
print " $i" ;
}
?>
Bunun alternativi:
<?
print "Riyaziyyatdaki reqemler:";
for($i=0; $i<=9; $i++):
print " $i" ;
endfor ;
?>
For dövrünü klassik yazılış şəklindən fərqli olaraq üç şəkildə yazmaq mümkündür:
1- ci yol
<?
for($i=0;;$i++){
if( $i>9 ) {
break ;
}
print " $i" ;
}
?>
2.-ci yol
<?
$i=0 ;
for(;;){
if ( $i>9 ) {
break ;
}
print " $i" ;
$i++ ;
}
?>
3-cü yol
<?
for ($i = 0 ; $i<=9 ; print $i, $i++) ;
?>
Bu üç yoldan hər hansı birini işlədə bilərsiniz. əslinə qalsa heç bir fərqi yoxdu.
Baxır proqramistə. Kimə hansı yol rahatdı onu istifadə edir.
Qeyd 1. Dovrlərdə aid bir əmr də var bu foreach əmridir . ona bir neçə lazımlı dərs
öyrənəndən sonra baxacağıq.
Qeyd 2.
<?
print "Riyaziyyatdaki reqemler:";
for($i=0; $i<=9; $i++) {
print " $i" ;
$i++;
}
?>
Bu kod sadəcə cüt rəqəmləri yazır. Düzdü 0 cüt deyil ama ondan başqa bütün cüt rəqəmləri
yazır. Sağolun.
|