# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.yavuzlar.org/egitim/00x0-php-nedir/01x2-phpde-donguler.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
