Döngüler, genel olarak; bir başlangıç değeri, bir artım kodu ve bir koşul ile birlikte çalışırlar.
Başlangıç Değeri; döngü başlamadan önce kontrol edilecek olan değişkene değer atama işlemidir.
Artım Kodu; döngü içerisinde, işlemlerin kaç defa tekrarlandığının hesaplanmasını sağlamak için Başlangıç Değeri atanan değişkeninin değerini arttırma veya azaltma işlemidir.
Koşul; değeri sürekli değiştirilen kontrol değişkeninin, belirtilen koşullara uyup uymadığını kontrol etme işlemidir. Koşul bölümü için; Boolean türünde bir değer kullanılabileceği gibi, 0 veya 1 sayıları da kullanılabilir.
PHP’de kullanılan döngüler;
FOR döngüsü, belirtilen bir başlangıç değerinin, belirli düzeylerde arttırılması ile bitiş değerine ulaşana kadar kodların tekrarlanmasını sağlayan döngü yapısıdır.
FOR(başlangıç_değeri;koşul;artım_değeri) {
yapılacak_işlemler;
}
FOR($sayac=0;$sayac<$son;$sayac++)
{
//yapılacak olan işlem(ler);
//Eğer tek bir komut verilecekse; bloklama işareti olan {, } işaretleri kullanılmayabilir.
}
For döngüsü doğru planlandığında tam olarak istenilen sayıda tekrar yapar. En sık kullanılan döngü türüdür.
Örnek:
//1’den 10’a kadar olan sayıları yazan döngü
for($i=1;$i<=10;$i++)
{
echo “Şu anki değer: $i<br>”;
}
//10’dan 1’e kadar olan sayıları yazan döngü
for($i=10;$i>0;$i–)
{
echo “Şu anki değer: $i<br>”;
}
//Sonsuz döngü
for($i=0;;$i++)
{
echo “Şu anki değer: $i<br>”;
}//Burada koşul belirtmediğimiz için döngümüz sonsuza kadar devam edecektir.
DO…WHILE döngüsü, PHP döngüleri arasında en az bir defa çalışan tek döngüdür. DO deyiminden sonraki blok içerisine yazılan kod, en az bir defa çalıştırıldıktan sonra WHILE ile koşul kontrolü yapılır ve eğer koşul doğru ise döngü tekrar çalıştırılır.
başlangıç_değeri;
DO
{
//yapılacak olan işlemler
artım_değeri;
}WHILE(koşul);
Örnek:
$i=0;
do
{
echo “Şu anki değer: $i<br>”;
$i++;
} while($i<10);
WHILE döngüsü, FOR döngüsü gibi çalışır, yalnız başlangıç değeri döngüye girilmeden önce; artım değeri döngü içerisinde, komutların sonuna; bitiş değeri ise koşul bölümüne yazılır.
başlangıç_değeri;
WHILE(koşul)
{
yapılacak_işlemler;
artım_değeri;
}
Örnek:
]]>$i=0;
while($i<10)
{
echo “Şu anki değer: $i<br>”;
$i++
}