> For the complete documentation index, see [llms.txt](https://docs.yavuzlar.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.yavuzlar.org/egitim/00x0-php-nedir/01x2-phpde-donguler.md).

# 2.2 PHP'de Döngüler

PHP'de döngüler, belirli bir kod bloğunun belirli bir koşul doğru olduğu sürece tekrar tekrar çalıştırılması için kullanılır. Bu, tekrarlayan işlemleri daha verimli hale getirir ve kodunuzu daha okunabilir yapar.

## `while` Döngüsü

`while` döngüsü, belirli bir koşul doğru olduğu sürece kod bloğunu tekrar tekrar çalıştırır.

```php
while (koşul) {
    // kod bloğu
}

```

```php
<?php
$sayı = 1;

// Koşul doğru olduğu sürece döngü devam eder.
while ($sayı <= 5) {
    // Mevcut sayı değerini ekrana yazdırır.
    echo "Sayı: $sayı<br>";
    // Sayaç değişkenini bir artırır.
    $sayı++;
}
?>
```

## `do while` Döngüsü

`do while` döngüsü, koşulun doğru olup olmadığına bakılmaksızın kod bloğunu en az bir kez çalıştırır ve sonra koşul doğru olduğu sürece devam eder.

```php
do {
    // kod bloğu
} while (koşul);
```

```php
<?php
$sayı = 1;

// Koşul kontrol edilmeden önce kod bloğu en az bir kez çalıştırılır.
do {
    // Mevcut sayı değerini ekrana yazdırır.
    echo "Sayı: $sayı<br>";
    // Sayaç değişkenini bir artırır.
    $sayı++;
} while ($sayı <= 5); // Koşul doğru olduğu sürece döngü devam eder.
?>
```

## `for` Döngüsü

`for` döngüsü, genellikle bir sayaç değişkeni ile kullanılır ve belirli bir sayıda tekrarlanır.

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

```php
<?php
// Sayaç değişkeni 1'den başlar ve 5'e kadar artar.
for ($sayı = 1; $sayı <= 5; $sayı++) {
    // Mevcut sayı değerini ekrana yazdırır.
    echo "Sayı: $sayı<br>";
}
?>
```

## `foreach` Döngüsü

`foreach` döngüsü, dizi veya koleksiyonlar üzerinde iterasyon yapmak için kullanılır.

```php
foreach ($dizi as $değer) {
    // kod bloğu
}
```

```php
<?php
$meyveler = ["Elma", "Armut", "Muz", "Çilek"];

// Dizi üzerindeki her bir eleman için döngü devam eder.
foreach ($meyveler as $meyve) {
    // Mevcut meyve değerini ekrana yazdırır.
    echo "Meyve: $meyve<br>";
}
?>
```

## `break` ve `continue` Deyimleri

### **`break`**

`break` deyimi, döngüyü tamamen sonlandırır ve döngüden çıkar.

```php
<?php
// Sayaç değişkeni 1'den başlar ve 10'a kadar artar.
for ($sayı = 1; $sayı <= 10; $sayı++) {
    // Sayaç değişkeni 5 olduğunda döngüyü sonlandırır.
    if ($sayı == 5) {
        break;
    }
    // Mevcut sayı değerini ekrana yazdırır.
    echo "Sayı: $sayı<br>";
}
?>
```

### **`continue`**

`continue` deyimi, döngünün mevcut iterasyonunu sonlandırır ve bir sonraki iterasyona geçer.

```php
<?php
// Sayaç değişkeni 1'den başlar ve 10'a kadar artar.
for ($sayı = 1; $sayı <= 10; $sayı++) {
    // Sayaç değişkeni 5 olduğunda bu iterasyonu atlar ve bir sonraki iterasyona geçer.
    if ($sayı == 5) {
        continue;
    }
    // Mevcut sayı değerini ekrana yazdırır.
    echo "Sayı: $sayı<br>";
}
?>
```

> \[!Note]
>
> * **`while` Döngüsü**: Koşul doğru olduğu sürece kod bloğunu çalıştırır.
> * **`do while` Döngüsü**: Kod bloğunu en az bir kez çalıştırır ve sonra koşul doğru olduğu sürece devam eder.
> * **`for` Döngüsü**: Belirli bir sayaç değişkeni ile kullanılır ve belirli bir sayıda tekrarlanır.
> * **`foreach` Döngüsü**: Dizi veya koleksiyonlar üzerinde iterasyon yapar.
> * **`break` Deyimi**: Döngüyü tamamen sonlandırır.
> * **`continue` Deyimi**: Döngünün mevcut iterasyonunu sonlandırır ve bir sonraki iterasyona geçer.
