While Döngüsü
while döngüsü yine diğer döngüler gibi çokça kullanılan döngülerden biri. for döngüsünden yapısal olarak farkı, parantez içerisinde döngünün çalışması için sağlanan koşulu belirtiyoruz.
<?PHP
$i = 0;
while ( $i < 5 ){
echo "\$i değişkeninin değeri : $i\n";
$i++;
}
$i değişkeninin değeri : 0
$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
Yukarıda while döngüsünün en basit anlaşılır kullanımını gösterdim. Çıktımız yalnızca 4 rakamını yazdıracaktır çünkü while parantezleri içerisinde döngünün çalışması için belirttiğimiz koşul, $i değişkeni değerinin 5 ten küçük olmasıydı.
while ( $i <= 5 )
Şeklinde bir düzenleme yaparak 5ten küçük ve 5 rakamına eşit olması durumunda çalışmasını söylemiş olsaydık 5 rakamı için de çıktı vermiş olacaktı
Ancak burada dikkat etmeniz gereken şey; $i++ ile $i değişkeninin değerini artırmazsanız yada tam tersine eksiltme yoluna giderseniz while döngüsü sonsuz çalışacak ve php ayarlarında belirtilen maksimum çalışma süresini aşınca hata oluşturacaktır.
While Döngüsünü Durdurma
While döngüsü her ne kadar belirtilen koşul sağlandığı sürece çalışıyor olsa da kimi çalışmalarımızda döngü içerisinde bazı farklı şartlar dolayısıyla döngüyü tamamen durdurmak gerekebilir. Burada break devreye giriyor ve hayat kurtarıyor.
<?PHP
$i = 0;
while ( $i < 25 ){
echo "\$i değişkeninin değeri : $i\n";
$i = $i + 2;
if ( $i == 8 )
{
break;
}
}
$i değişkeninin değeri : 0
$i değişkeninin değeri : 2
$i değişkeninin değeri : 4
$i değişkeninin değeri : 6
Evet, çıktıda gördüğünüz gibi $i değişkenini 2 artırarak çalıştırdığımız döngümüzde $i değişkeninin 8 olduğu durumda döngümüzü durdurduk.
Döngüyü Atlatma
Döngüyü tamamen durdurma işlevi gibi bulunulan adımı atlayarak döngünün bir sonraki adıma atlamasına da kimi zaman ihtiyaç duyabiliriz. Bu işlem için while döngüsünün içerisinde continue komutunu kullanabiliriz.
<?PHP
$i = 0;
while ( $i < 12 ){
$i = $i + 2;
if ( $i == 8 ) {
continue;
}
echo "\$i değişkeninin değeri : $i\n";
}
Olağan halinde 0 dan başlayarak 2 ekleyerek artırdığımız için 2,4,6,8,10,12 şeklinde çıktı almamız gerekiyor. Ancak $i değişkeninin değerinin 8 olduğunda continue komutunu kullanarak mevcut döngüyü durdurup sonraki adıma atlamasını sağlıyoruz. Evet, break deyimi ile döngüyü tamamen durduruyorduk, continue ile mevcut adımı durdurup bir sonraki adımla döngünün devam etmesini sağlıyoruz.
$i değişkeninin değeri : 2
$i değişkeninin değeri : 4
$i değişkeninin değeri : 6
$i değişkeninin değeri : 10
$i değişkeninin değeri : 12
Burada yine dikkat etmemiz gereken nokta şu; artırma işlemini continue komutundan sonraya alırsak artırma işleminden önce döngüdeki işlem gerçekleşmeyecek ve $i değişkeni artmayacağı için döngümüz sonsuz şekilde çalışmaya devam edecektir.