PHP'deki
while
döngüsü, belirli bir koşul doğru olduğu sürece tekrarlanan işlemleri gerçekleştirmek için kullanılır. Döngü, koşul her kontrol edildiğinde doğru (true) olduğu sürece çalışır ve koşul yanlış (false) olduğunda döngü sona erer.
while
Döngüsünün Sözdizimi:
while (koşul) {
// Tekrarlanacak kod bloğu
}
- koşul: Döngünün çalışıp çalışmayacağını belirleyen ifadedir. Bu ifade doğru (true) olduğu sürece döngü devam eder. Yanlış (false) olduğunda döngü sonlanır.
- kod bloğu: Koşul doğru olduğu sürece tekrar tekrar çalıştırılacak işlemler.
while
Döngüsünün İşleyişi:
- Koşul Kontrolü: İlk olarak, koşul kontrol edilir. Eğer koşul doğruysa döngü çalışmaya başlar.
- Kod Bloğu: Koşul doğru olduğu sürece kod bloğu çalıştırılır.
- Tekrar: Kod bloğu tamamlandıktan sonra, koşul yeniden kontrol edilir. Koşul doğru olduğu sürece döngü devam eder. Koşul yanlış olduğunda döngü sona erer.
while
Döngüsü ile Örnekler:
1. Basit Bir while
Döngüsü
$i = 1;
while ($i <= 5) {
echo "Bu döngü $i numaralı adımdan geçiyor.<br>";
$i++; // Sayaç her seferinde 1 artırılıyor
}
- Bu örnekte,
$i
değişkeni başlangıçta 1 olarak atanır. - Koşul olarak
$i <= 5
kontrol edilir. Yani,$i
değeri 5'ten küçük veya eşit olduğu sürece döngü devam eder. - Her döngüde
$i
bir artırılır ($i++
). - Çıktı:
Bu döngü 1 numaralı adımdan geçiyor. Bu döngü 2 numaralı adımdan geçiyor. Bu döngü 3 numaralı adımdan geçiyor. Bu döngü 4 numaralı adımdan geçiyor. Bu döngü 5 numaralı adımdan geçiyor.
2. Sayıların Toplamını Bulma
Bir sayıya kadar olan sayıların toplamını bulmak için while
döngüsü kullanılabilir:
$sayi = 10;
$toplam = 0;
$i = 1;
while ($i <= $sayi) {
$toplam += $i; // $toplam = $toplam + $i
$i++;
}
echo "1'den $sayi'ya kadar olan sayıların toplamı: $toplam";
- Bu örnekte,
$i
değişkeni 1’den başlayarak 10’a kadar olan sayıların toplamını bulmak için kullanılır. - Çıktı:
1'den 10'a kadar olan sayıların toplamı: 55
3. Sonsuz Döngü
Koşul her zaman doğru ise, döngü sonsuza kadar devam eder. Bu genellikle hata yapıldığında ya da bir durdurma şartı olmadığında ortaya çıkar.
while (true) {
echo "Bu döngü sonsuza kadar çalışır.";
}
Bu döngü sonsuz bir döngüye girer ve hiçbir zaman durmaz, çünkü koşul her zaman doğru olarak kalır. Böyle durumlar genellikle kaçınılması gereken durumlardır.
4. Kullanıcı Girdisi ile Döngü
Bir döngünün belirli bir koşul sağlanana kadar devam etmesi için kullanıcıdan veri alabilirsiniz:
$sayi = 0;
while ($sayi != 10) {
$sayi = (int) readline("Bir sayı girin (10 ile duracak): ");
echo "Girilen sayı: $sayi<br>";
}
echo "Döngü 10 girildiği için durdu.";
Bu örnekte, kullanıcı 10 sayısını girene kadar döngü devam eder.
Sonsuz Döngüden Çıkmak: break
Komutu
Bazı durumlarda, döngü sonsuz görünebilir, ancak belirli bir koşul sağlandığında döngüden çıkmak isteyebilirsiniz. Bunun için break
komutu kullanılır.
Örnek: break
ile Döngüden Çıkmak
$i = 1;
while (true) {
echo "Bu döngü $i numaralı adımdan geçiyor.<br>";
if ($i == 3) {
echo "Döngü $i numarasında kırıldı.<br>";
break; // Döngüyü sonlandır
}
$i++;
}
- Bu döngü sonsuz gibi görünse de,
$i
değişkeni 3’e ulaştığındabreak
komutu döngüyü durdurur. - Çıktı:
Bu döngü 1 numaralı adımdan geçiyor. Bu döngü 2 numaralı adımdan geçiyor. Bu döngü 3 numaralı adımdan geçiyor. Döngü 3 numarasında kırıldı.
while
Döngüsü ile Kullanışlı Örnekler:
1. Bir Dizinin Elemanlarını Listeleme
Bir dizinin tüm elemanlarını listelemek için while
döngüsü kullanabilirsiniz:
$renkler = array("Kırmızı", "Yeşil", "Mavi");
$i = 0;
while ($i < count($renkler)) {
echo $renkler[$i] . "<br>";
$i++;
}
- Bu örnekte,
$renkler
dizisindeki elemanlar sırayla yazdırılır. - Çıktı:
Kırmızı Yeşil Mavi
2. Geriye Doğru Sayma
Döngü, bir sayıyı sıfıra doğru azaltarak çalıştırılabilir:
$i = 5;
while ($i > 0) {
echo "$i<br>";
$i--; // Değer her döngüde bir azaltılıyor
}
- Bu örnekte,
$i
değişkeni 5'ten başlar ve her döngüde bir azaltılarak 0'a ulaşana kadar devam eder. - Çıktı:
5 4 3 2 1
while
Döngüsünün Avantajları:
- Esneklik: Koşul doğru olduğu sürece çalışır, bu nedenle döngü adımlarının sayısını baştan bilmeniz gerekmez.
- Sonsuz Döngüler: Döngü koşulunu doğru ayarlarsanız, sonsuz döngülerde bile kullanılabilir.
- Kolay Kullanım: Koşul tabanlı döngü olduğu için çok yönlüdür ve birçok farklı durumda kullanılabilir.
while
Döngüsünün Dezavantajları:
- Sonsuz Döngü Riski: Koşul yanlış ayarlanırsa döngü sonsuz bir döngüye dönüşebilir ve programın çökmesine neden olabilir.
- Koşulun Önceden Kontrol Edilmesi: Döngüye girmeden önce koşulun doğru olup olmadığını kontrol etmeniz gerekir.
Sonuç:
PHP'deki
while
döngüsü, koşul tabanlı çalışan bir döngü yapısıdır. Belirli bir koşul doğru olduğu sürece, kod bloğunu tekrar tekrar çalıştırır. Esnek yapısı sayesinde döngü sayısının önceden bilinmediği durumlarda tercih edilir. Ancak dikkat edilmesi gereken en önemli nokta, döngü koşulunun sonsuz döngüye yol açmaması için dikkatle belirlenmesidir.