← Blog'a Don
PHP Dersleri

PHP Döngüleri (while, for, foreach, do … while): En Kapsamlı Rehber

5 ay once 5 ay once #108
PHP Döngüleri (while, for, foreach, do … while): En Kapsamlı Rehber

🔁 PHP Döngüleri (while, for, foreach, do … while): En Kapsamlı Rehber

Programlama dillerinde döngüler (loops), tekrarlayan işlemleri kolaylaştıran yapılar olarak karşımıza çıkar.
PHP’de de döngüler, bir kod bloğunu belirli bir koşul sağlanana kadar tekrar tekrar çalıştırmamızı sağlar.

Bu yazıda PHP’nin en önemli dört döngüsünü — while, do...while, for ve foreach — örneklerle öğreneceksin. 🚀


🧩 1. Döngü Nedir?

Döngü, aynı işlemi birden fazla kez yapmak istediğimizde kullandığımız yapıdır.
Eğer döngüleri kullanmazsak, tekrar eden kodları manuel olarak yazmamız gerekir.

Örnek (döngü olmadan):

<?php echo "1<br>"; echo "2<br>"; echo "3<br>"; echo "4<br>"; echo "5<br>"; ?>

Döngü ile:

<?php for ($i = 1; $i <= 5; $i++) { echo "$i<br>"; } ?>

💡 Sonuç aynı ama kod çok daha kısa ve esnek.


🔹 2. while Döngüsü

while döngüsü, belirtilen koşul doğru (true) olduğu sürece çalışmaya devam eder.

Söz dizimi:

while (koşul) { // çalışacak kodlar }

Örnek:

<?php $sayi = 1; while ($sayi <= 5) { echo "Sayı: $sayi<br>"; $sayi++; } ?>

Çıktı:

Sayı: 1 Sayı: 2 Sayı: 3 Sayı: 4 Sayı: 5

⚠️ Eğer koşul hiçbir zaman false olmazsa, sonsuz döngü (infinite loop) oluşur.
Her döngüde koşulun değişmesini sağlayan bir ifade (örneğin $sayi++) kullanmayı unutma.


🔸 3. do...while Döngüsü

do...while döngüsü, while döngüsüne benzer ama bir farkla:
Koşul sona yazılır.
Bu nedenle döngü en az bir kez çalışır, koşul false olsa bile.

Söz dizimi:

do { // çalışacak kodlar } while (koşul);

Örnek:

<?php $sayi = 1; do { echo "Sayı: $sayi<br>"; $sayi++; } while ($sayi <= 5); ?>

Çıktı:

Sayı: 1 Sayı: 2 Sayı: 3 Sayı: 4 Sayı: 5

Örnek 2 – Koşul false olsa bile bir kez çalışır:

<?php $sayi = 10; do { echo "Bu satır bir kez çalışır!<br>"; } while ($sayi < 5); ?>

🧮 4. for Döngüsü

for döngüsü, genellikle sabit sayıda tekrarlanacak işlemler için kullanılır.

Söz dizimi:

for (başlangıç; koşul; artış) { // kod bloğu }

Örnek:

<?php for ($i = 1; $i <= 5; $i++) { echo "Döngüdeki değer: $i<br>"; } ?>

Çıktı:

Döngüdeki değer: 1 Döngüdeki değer: 2 Döngüdeki değer: 3 Döngüdeki değer: 4 Döngüdeki değer: 5

🔹 For Döngüsünde Değişken Artırma/ Azaltma

for ($i = 10; $i >= 1; $i--) { echo "Geri sayım: $i<br>"; }

Çıktı:

Geri sayım: 10 ... Geri sayım: 1

🔸 İç İçe (Nested) For Döngüleri

<?php for ($i = 1; $i <= 3; $i++) { for ($j = 1; $j <= 2; $j++) { echo "i: $i, j: $j<br>"; } } ?>

Çıktı:

i: 1, j: 1 i: 1, j: 2 i: 2, j: 1 i: 2, j: 2 i: 3, j: 1 i: 3, j: 2

🧩 5. foreach Döngüsü

foreach, özellikle diziler (array) ve koleksiyonlar üzerinde dönmek için tasarlanmıştır.
Her elemanı tek tek işleyerek kodu sadeleştirir.

Söz dizimi:

foreach ($dizi as $deger) { // kod bloğu }

Örnek:

<?php $renkler = ["Kırmızı", "Mavi", "Yeşil"]; foreach ($renkler as $renk) { echo "Renk: $renk<br>"; } ?>

Çıktı:

Renk: Kırmızı Renk: Mavi Renk: Yeşil

🔹 Anahtar-Değer (Key => Value) ile Foreach

<?php $kisiler = [ "ad" => "Metin", "yas" => 31, "meslek" => "Yazılımcı" ]; foreach ($kisiler as $anahtar => $deger) { echo "$anahtar : $deger<br>"; } ?>

Çıktı:

ad : Metin yas : 31 meslek : Yazılımcı

⚙️ 6. Döngülerde break ve continue Kullanımı

🔸 break

Döngüyü tamamen durdurur.

for ($i = 1; $i <= 10; $i++) { if ($i == 5) break; echo "$i "; }

Çıktı:

1 2 3 4

🔹 continue

Sadece o turu atlar, döngü devam eder.

for ($i = 1; $i <= 5; $i++) { if ($i == 3) continue; echo "$i "; }

Çıktı:

1 2 4 5

🧠 7. Sonsuz Döngüler

Eğer koşul sürekli true dönerse döngü hiç bitmez.

<?php while (true) { echo "Bu sonsuza kadar gider..."; break; // Sonsuz döngüden çıkmak için } ?>

💡 Sonsuz döngüler bazen sunucu işlemlerinde, arka plan dinleyicilerinde veya socket bağlantılarında bilinçli olarak kullanılır.


🔄 8. Döngüler Arasında Karşılaştırma

Döngü TürüNe Zaman Kullanılır?En Az Kaç Kez Çalışır?
whileKoşul önceden biliniyor ve başlangıçta kontrol edilecekse0
do...whileKoşul ne olursa olsun bir kez çalışmalıysa1
forSabit sayıda tekrarlanacak işlem varsa0
foreachDizi veya koleksiyon üzerinde döneceksekEleman sayısı kadar

💡 9. Pratik Örnek: Sayı Toplamı Hesaplama

<?php $toplam = 0; for ($i = 1; $i <= 10; $i++) { $toplam += $i; } echo "1'den 10'a kadar sayıların toplamı: $toplam"; ?>

Çıktı:

1'den 10'a kadar sayıların toplamı: 55

🏁 Sonuç

PHP döngüleri, tekrarlayan işlemleri kısa, temiz ve etkili hale getirir.
Doğru döngüyü doğru yerde kullanmak, hem performansı artırır hem de kodun okunabilirliğini geliştirir.

  • 🔹 while → Koşul sağlandıkça çalışır

  • 🔹 do...while → En az bir kez çalışır

  • 🔹 for → Belirli sayıda tekrarlar

  • 🔹 foreach → Diziler üzerinde en kolay yöntemdir

Unutma: Döngülerin gücünü doğru kullanmak, seni bir adım ileri taşır! 💪