Do While Döngüsü


do while döngüsünün esasında işlevsel olarak while döngüsünden çok bir farkı yok. Ancak ne zaman ihtiyacınızın olacağını emin olun kestiremeseniz de öyle noktada hayat kurtarıyor ki projenize abartısız nefes sağlıyor demekten çekinmem.

For Döngü Yapısı

do{
// döngü işlemler
} while(condition)

Do While Döngü Algoritması

while döngüsünde belirttiğimiz koşul sağlandığı sürece döngü içeriği çalışıyorken, do while döngüsünde öncelikle belirttiğimiz döngü içeriğimiz çalışır, daha sonra belirttiğimiz koşul sağlandığı taktirde tekrar ettirir.

PHP Do While Döngüsü Algoritması

Do While Döngüsü Örnekleri

En basit haliyle do while döngüsü örneği;

<?PHP
$i = 0;
do{
    echo "\$i değişkeninin değeri $i\n";
    $i++;
}
while( $i < 5 );

Gördüğünüz gibi örnek kodumuzda döngü koşulunu hiç kontrol etmeden echo komutu ile $i değişkeninin değerini yazdırıyoruz. Hemen ardından $i değişkeninin değerini 1 artırıyoruz. Ardından $i değişkeninin değeri 5 ten küçükse süslü parantezler ile belirtilen döngü gövdesinin tekrar çalışmasını sağlıyoruz. 5 ten küçük olmadığı durumda döngüden sonraki kodlarla php çalışmasını sürdürür.

Artırma İşlemini Koşul İçerisinde Yapalım

Bu yapı biraz daha for döngüsü yapısına yaklaştırmış oluyor. Bir önceki örnek ile arasında işlevsel olarak herhangi bir fark yok. Ancak kodlama işleminde daha derli toplu bir görüntü oluşturuyor

<?PHP
$i = 0;
do{
    echo "\$i değişkeninin değeri $i\n";
}
while( ++$i < 5 );

Bu örnekte tek fark gördüğünüz gibi artırım işleminin konumu değil, artırım yaptığımız + işaretlerinin de yeri değişti. Eğer ++ işaretlerini $i değişkeninin sağına koymuş olsaydık 5 rakamını da işleme alacaktı. Bunun sebebi ise; eğer ki ++ işleci değişkenden önce gelirse önce artırım işlemi yapılır, sonra değeri döndürür. Tam tersi değişkenin sonrasına yada sağına gelirse öncelikle değer döndürülür, sonra artırım işlemi yapılır.


Break İle Do While Döngüsünü Sonlandırma

<?PHP
$y = 1;
do{
    if ( $y == 5 ) {
        echo "\$y değişkeninin değeri 5 oldu, döngüyü durduralım\n";
        break;
    }
    echo "\$y değişkeninin değeri $y\n";
    $y++;
}
while( $i <= 10 );
echo "Döngü Sona Erdi";

Hemen üstteki örneğimizde normal şartlarda 1 ve 10 sayıları için değişkenin değeri yazdırılacakken, değişkenin değeri 5 olduğunda break komutu ile döngünün tamamen durması gerektiğini belirttik. Döngümüz break komutuna gelene kadar tüm işlemleri gerçekleştirir ve ardından döngüyü sonlandırır. Şu halde elde edeceğimiz çıktı şu şekilde olacaktır.

$i değişkeninin değeri 1
$i değişkeninin değeri 2
$i değişkeninin değeri 3
$i değişkeninin değeri 4
$i değişkeninin değeri 5 oldu, döngüyü durduralım
Döngü Sona Erdi

Continue İle Bir Sonraki Adıma Atlama

<?PHP
$x = 1;
do{
    if ( $x < 5 ) {
        $x++;
        continue;
    }
    echo "\$x değişkeninin değeri $x\n";
    $i++;
}
while( $i <= 10 );
echo "Döngü Sona Erdi";

Bu do while döngü örneğimizde normal şartlarda 1 den 10 a kadar değişken değerini yazdırması gerekiyordu. if bloğumuz ile $x değişkeni eğer 5 en küçük ise $x değişkeninin değerinin 1 artırılıp ilgili döngü adımının sona erip sonraki döngü adımına geçmesini söylüyoruz. Şu halde çıktımız şu şekilde olacaktır;

$i değişkeninin değeri 5
$i değişkeninin değeri 6
$i değişkeninin değeri 7
$i değişkeninin değeri 8
$i değişkeninin değeri 9
$i değişkeninin değeri 10
Döngü Sona Erdi