PHP Döngüler (While, For, Foreach, Do While)

Last updated on 3 Haziran 2019

Diğer yazılım dillerinde de olduğu gibi döngüler ile istediğimiz kodları ard arda istediğimiz kadar tekrarlayabiliriz. PHP de 4 adet döngü vardır. Aslında hepsi aynı işi yapıyor sadece yazımları farklı. Döngüler ile ne yaptığınızı bilmiyorsanız eğer uygulamayı sonsuz döngüye sokabilirsiniz ancak PHP’nin çalışma zaman limiti bu tehlikeyi ortadan kaldırıyor. Diğer yazılım dillerinde de olduğu gibi döngüler ile istediğimiz kodları ard arda istediğimiz kadar tekrarlayabiliriz. PHP de 4 adet döngü vardır. Aslında hepsi aynı işi yapıyor sadece yazımları farklı. Döngüler ile ne yaptığınızı bilmiyorsanız eğer uygulamayı sonsuz döngüye sokabilirsiniz ancak PHP’nin çalışma zaman limiti bu tehlikeyi ortadan kaldırıyor.1. While Döngüsü
2. For Döngüsü
3. Foreach Döngüsü
4. Do – While Döngüsü

1. While Döngüsü

While döngüsünde koşul kullanımı if-else ile aynıdır. Yazdığım koşul doğru olduğunda while içerisine yazdığımız kodlar çalışacaktır. if-else den tek farkı, döngü olduğu için yazdığımız koşul doğru olduğu sürece döngüyü tekrarlayacaktır.Örnek ;

$a = 5;
while($a == 5)
{ 
     echo "a değişkenimiz 5 olduğu sürece bu kısımı sürekli tekrarlayacak.";
}
////////////////////////////////////
 
/* Aşağıda ki örnekte $result değişkeni her döndüğünde 5 arttırarak çarptık. 
İlk olarak 50x5, sonra 50x6, sonra 50x7... 
$a değişkeni 20 olana kadar bu şekilde çarparak ve $a değişkenini her döngüde 1 arttırarak devam edecek.
*/
 
$result = 50;
while($a < 20)
{ 
    $result = $result * $a; $a++;
}
 
echo $result; 

2. For Döngüsü

Bu döngü belirli bir sayıda dönecek kodların kullanımında daha kullanışlıdır. For döngüsünde 3 adet parametre kullanabiliriz. 1. Parametre = Döngü içerisinde kullanacağımız değişkeni ve alacağı değer. 2. Parametre = While döngüsünde olduğu gibi koşulu belirtir. 3. Parametre = Her döngü sırasında ne yapacağını belirtir.
Örnek ;

for($i = 0; $i < 10; $i++)
{ 
     echo "Döngü Sayısı : " .$i;
    /*
     for($i = 0; $i < 10; $i++)” bu kısımı daha detaylıca şöyle anlatabiliriz ;
    “$i = 0;” = $i diye bir değişken oluşturduk ve $i’nin 0 olduğunu belirttik.
    “$i < 10;” = Koşul olarak $i değişkeni 10’dan küçük olduğu sürece bu döngüyü tekrarlamasını belirttik.
    “$i++” = Döngü her tamamlandığında $i değişkenimizin değerini 1 arttırmasını belirttik. (Burada $i = $i+1; diye de yazabilirdik.)
     */
} 
php-donguler-for-aciklama

3. Fereach Döngüsü

Foreach döngüsünü array döngüsü diye de isimlendirebiliriz. Diğer döngülere göre kullanımı biraz farklıdır ancak daha kullanışlıdır. Değer olarak dizi(array) alır. Döngü sayısını ise dizi içerisinde ki eleman sayısı belirler. Elle döngü sayısı BELİRTMEYİZ. Parametrelerinde “as” deyiminden sonra belirttiğimiz değişkene her döngü de sırayla dizi içerisinde bir elemen değerini yükle ve bize onu verir.
Örnek ;

// önce bir dizi (array) tanımlayalım.
$cihazlar = array('Bilgisayar', 'Tablet', 'Notebook', 'Telefon');
foreach($cihazlar as $bir_tane_cihaz)
{
    echo "Cihaz : " $bir_tane_cihaz;
}
// bu döngü de cihazlar dizi'si içerisinde ne kadar eleman varsa o kadar tekrarlar.
 
//Bir Örnek Daha Yapalım ve bu örnekte Cihazları ekrana yazdırırken önüne birde sıra numarası getirelim.
 
$cihazlar = array('Bilgisayar', 'Tablet', 'Notebook', 'Telefon');
$sira_no = 0; //$sira_no diye bir değişken oluşturduk ve değerini 0 olarak belirttik;
 
foreach($cihazlar as $bir_tane_cihaz)
{ 
    echo "Cihaz : "$sira_no. " - " . $bir_tane_cihaz; 
    $sira_no++; // Her döngü sonunda $sira_no değişkeninin değerine 1 eklemesini belirttik.
} 

a. Foreach Anahtarları ve Değerleri Döndürme

Yukarıda yazdığım “foreach” döngüsünün kullanımında sadece dizi(array) içerisinde ki değerleri alabiliyorduk. Şimdi ise dizi içerisinde ki hem anahtarları hemde değerleri alacağız.
Örnek ;

$dizi['isim'] = 'Serdar';
$dizi['soyisim'] = 'Karaca';
$dizi['yas'] = '28';
 
foreach($dizi as $bilgi => $deger)
{ 
    echo $bilgi . " = " . $deger."";
}
 
/*
Çıktısı şöyle olacaktır.
isim = Serdar
soysiim = Karaca
yas = 28
*/ 

4. Do – While Döngüsü

Bu döngü diğer döngüler gibi pek kullanılmaz. Do-While döngüsü while döngüsü gibidir tek farkı döngüye verdiğimiz koşula bakmadan en az 1 kez çalışır, kod çalıştıktan sonra 2. döngü de koşula bakar.
Örnek ;

$a = 50;
do
{ 
     echo "Merhaba...";
}
while($a < 5);
 
/*
while koşulunda a, 5'den küçükse çalışmasını istedik ancak do-while olduğu için "a" 5'den küçük olmasa bile 1 kez çalışacaktır.
Ekrana 1 kez "Merhaba..." yazacaktır.
*/ 

Sonsuz döngüye girmemek için “break” ifadesi ile döngüleri durdurabiliriz.

Örnek ;

for($i = 0; $i < 50; $i++)
{
    echo $i;
    if($i == 20)
    {
        break;
    }
} 

Daha önce “for” döngüsünde verdiğim örneğe göre $i’nin değeri 50 olana kadar çalışması lazım. Ancak burada for içerisinde “if” ile eğer $i 20 olursa döngüden çık dediğimiz için $i’nin 50 olmasını beklemeden 20 olduğu anda döngüden çıkacaktır.

  •  
  •  
  •  
  •  
  •  
  •  
  •  

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir