PHP ile Döngüler (for, foreach, while, do..while)
Blog'a Dön

PHP ile Döngüler (for, foreach, while, do..while)

Buğra Şıkel

PHP ile döngüler for, foreach, do, while

PHP’de döngüler, belli bir kod bloğunun belli bir koşul sağlandığı sürece tekrar edilmesini sağlar. PHP’de döngüleri yönetmek için for, foreach, while, do...while gibi farklı döngü yapıları kullanılır. Bu yazımızda sırasıyla PHP’de kullanılan döngüleri inceleyeceğiz, kullanım örneklerine bakacağız.

PHP’de for döngüsü

PHP’de for döngüsü, belli bir koşula göre belirli bir sayıda döngü döndürmek için kullanılır. Örneğin, bir dizinin elemanlarını tek tek yazdırmak için kullanılabilir. Aşağıda bir örnek gösterilmiştir:

$numbers = array(1, 2, 3, 4, 5);

for ($i = 0; $i < count($numbers); $i++) {
  echo $numbers[$i];
}

Bu örnekte, for döngüsünün ilk bölümünde $i değişkeninin başlangıç değeri 0 olarak ayarlanır. İkinci bölümde ise, döngünün koşulu belirlenir: $i değişkeninin $numbers dizisinin eleman sayısından küçük olması gerektiği belirtilir. Döngü içerisinde ise, her seferinde $i  değişkeninin değeri 1 artırılır ve $numbers  dizisinin $i  indisli elemanı ekrana yazdırılır. Bu sayede, döngü dizinin tüm elemanlarını tek tek yazdıracaktır.

PHP’de foreach döngüsü

PHP’de foreach döngüsü, bir dizinin tüm elemanlarını tek tek gezmek için kullanılır. Örneğin, bir dizinin tüm elemanlarını ekrana yazdırmak için kullanılabilir:

$numbers = array(1, 2, 3, 4, 5);

foreach ($numbers as $number) {
  echo $number;
}

Bu örnekte, foreach döngüsü $numbers dizisinin tüm elemanlarını tek tek gezer ve her seferinde döngü içerisinde o elemanın değerini $number değişkenine atar. Döngü içerisinde, $number değişkeninin değeri ekrana yazdırılır. Böylece, döngü tüm dizinin elemanlarını tek tek yazdıracaktır.

PHP’de while döngüsü

PHP’de  while  döngüsü, belli bir koşul sağlandığı sürece kod bloğunu tekrar eden bir döngü türüdür. Örneğin, bir sayının karesinin toplamını hesaplamak için kullanılabilir:

$i = 1;
$sum = 0;

while ($i <= 10) {
  $sum += $i * $i;
  $i++;
}

echo $sum; // 385

Bu örnekte, while  döngüsünün koşulu $i değişkeninin 10’dan küçük veya eşit olmasıdır. Bu koşul sağlandığı sürece, döngü içerisindeki kod bloğu çalıştırılır. Kod bloğu içerisinde, $sum  değişkenine $i değişkeninin karesi eklenir ve $i değişkeninin değeri 1 artırılır. Bu sayede, while  döngüsü 10 kez dönecek ve döngü sonlandığında $sum değişkeninin değeri 1’den 10’a kadar olan sayıların karelerinin toplamı olan 385 olacaktır.

PHP’de do…while döngüsü

PHP’de do...while döngüsü, belli bir koşul sağlandığı sürece kod bloğunu tekrar eden bir döngü türüdür. Ancak, while döngüsüne göre do...while döngüsünde kod bloğu en az bir kez çalıştırılır, daha sonra koşul kontrol edilir. Örneğin, bir sayının karesini bulmak için kullanılabilir:

$number = 5;

do {
  $number *= $number;
} while ($number < 1000);

echo $number; // 625

Bu örnekte, do...while döngüsü ilk olarak kod bloğunu çalıştırır ve $number değişkeninin karesini bulur (25). Daha sonra koşul kontrol edilir ve koşul sağlanmadığı için döngü sonlanır. Böylece, döngü sadece bir kez çalışmış olur ve $number değişkeninin değeri 25 olmuş olur. do...while döngüsünün avantajı, kod bloğunun en az bir kez çalıştırılmasını sağlamasıdır.

do...while döngüsü ile ilgili bir örnek daha vermek istiyorum. Örneğin bir inputtan fotoğraf bize upload ediliyor. Ancak biz bu fotoğrafın uzunluğunun ya da genişliğinin 2000px üstündeyse %50 azaltılmasını ve o şekilde kaydedilmesini istiyoruz. Bunu yapacak bir fonksiyon yazmamız lazım ancak şöyle bir durum var, eğer ilk %50 düşürmeden hala 2000px altına inmediyse? İşte burada do...while döngüsü bize yardımcı olacak. Sonucumuz 2000px altına düşene kadar do...while döngüsünde tutacağız. Gelin örneğimizi kodlayalım.

function resize_image_percent($uzunluk, $genislik) {
  do {
    if ($uzunluk > 2000 || $genislik > 2000) {
      $uzunluk = $uzunluk * 0.5;
      $genislik = $genislik * 0.5;
    }
  } while ($uzunluk > 2000 || $genislik > 2000);

  return array($uzunluk, $genislik);
}

 

Bu ve benzeri önemli ipuçlarını öğrenmek için diğer yazılarıma da göz atabilirsiniz.

Web sitesine mi ihtiyacınız var ?

Bunları da beğenebilirsiniz

Javascript ile Panoya Kopyalama Yapımı
18 Ekim 2022

Javascript ile Panoya Kopyalama Yapımı

Merhabalar, bu yazımızda html, css, javascript kullanarak panoya kopyalama (copy clipboard) yapacağız. Kodlamamızı bitirdikten sonra ulaşacağımız sonuç aşağıdaki gibi olacak. İlk olarak kopyalanacak metnin bulunacağı…

Devamını Oku
Sıfırdan Lock-Free Ring Buffer: C++ ile p99 Latency Optimizasyonu
1 Haziran 2026

Sıfırdan Lock-Free Ring Buffer: C++ ile p99 Latency Optimizasyonu

C++ ile lock-free ring buffer inşa ederek mesajlaşma kuyruklarında p99 latency değerlerini 14.5ms’den 0.4ms’ye düşürme, memory barrier ve cache line rehberi.

Devamını Oku
Edge Cihazlarda ONNX Modellerini CPU&#8217;ya Düşüren 5 Kritik Operatör Hatası ve Çözümleri
17 Temmuz 2026

Edge Cihazlarda ONNX Modellerini CPU’ya Düşüren 5 Kritik Operatör Hatası ve Çözümleri

Production ortamında ONNX modellerinin NPU yerine CPU’da çalışmasına sebep olan 5 spesifik operatör hatası, debug yöntemleri ve latency optimizasyon stratejileri.

Devamını Oku
AI Asistan