Döngüler


    × Bunları biliyor muydunuz?
"Databases/ dizini bir veritabanı tablolarının şemasını oluşturup Generate::databases() komutu ile bu şemanın gerçek bir veritabanı ve tablo olarak işlenmesini sağlayabilirsiniz."


Döngüler o an da birden fazla sayıda kodun çalıştırılması gerektiği zamanlarda kullanılır. Bir erişim alanındaki kodun defalarca çalıştırılması gerekebilir. E-ticaret sitelerinde yer alan ürünlerin sıra ile listelenmesi döngü kullanımına bir örnektir. Hangi döngünün kullanılacağına ise ihtiyaçlara göre karar verilir. PHP programlama dilinde en çok kullanılan döngü yapıları aşağıdaki tabloda gösterilmiştir.

Döngü Çeştileri
foreach foreach yapısı diziler üzerinde yineleme yapmayı kolaylaştırmaktadır. foreach yalnızca diziler ve object için kullanılabilir; farklı veri türünde veya tanımlanmamış bir değişken ile kullanmak istediğinizde hata verir.
while while döngüsü PHP'de yer alan en basit döngü türüdür. While döngüsünde koşul sağlandığı müddetçe döngü devam eder.
for for döngüsü, PHP'deki en karmaşık döngü yapısıdır. 

 

 

# Foreach


Foreach döngüsü sadece dizi ve objeler için kullanılabilir. 2 tür söz dizimi vardır;

Standart Söz Dizimi

Bir dizi özel tanımlanmamış anahtarlar içermiyorsa yani sadece değerlerden oluşuyorsa bu söz dizimi kullanılır.

foreach( $dizi as $deger )
{
    # Kodlarınız
}
Array|Object $dizi Döngüye girecek dizi veya obje.
Int $anahtar Döngünün her dönüşünde dizinin ilgili değerinin sıra numarası.
Mixed $deger Döngünün her dönüşünde dizinin ilgili değeri.
Kullanımı
$sehirler = ['istanbul', 'izmir', 'ankara'];

foreach( $sehirler as $sehir )
{
    echo $sehir . "<br>";
}
istanbul
izmir
ankara
Anahtar İçerikli Söz Dizimi

Bir dizi özel tanımlanmamış anahtarlar içeriyorsa yani anahtar ve değerler çiftlerinden oluşuyorsa bu söz dizimi kullanılır.

foreach( $dizi as $anahtar => $deger )
{
    # Kodlarınız
}
Array|Object $dizi Döngüye girecek dizi veya obje.
Mixed $anahtar Döngünün her dönüşünde dizinin ilgili anahtarı.
Mixed $deger Döngünün her dönüşünde dizinin ilgili değeri.
Kullanımı
$sehirler = ['34' => 'istanbul', '35' => 'izmir', '06' => 'ankara'];

foreach( $sehirler as $plaka => $sehir )
{
    echo $plaka . ":" . $sehir . "<br>";
}
34:istanbul
35:izmir
06:ankara

Objelerde de kullanım mantığı aynen geçerlidir.

$sehirler = 
[
    (object) ['isim' => 'istanbul', 'plaka' => '34'],
    (object) ['isim' => 'izmir'   , 'plaka' => '35']
];

foreach( $sehirler as $sehir )
{
    echo $sehir->isim. ":" . $sehir->plaka . "<br>";
}
34:istanbul
35:izmir

 

 

# While


while döngüsü PHP'de yer alan en basit döngü türüdür.While deyiminin anlamı basittir. while deyimindeki $koşul true olduğu müddetçe etki alanındaki deyimleri PHP tekrar tekrar çalıştırır.

Söz Dizimi

Aşağıdaki deyimde $koşul yerine bir gelen ifade true döndüğü sürece döngü dönmeye devam eder. Döngülerin koşullarında yapılan hatalar işlemin sonsuz döngüye girmesine neden olabilir.

while( $kosul )
{
    # Kodlarınız
}
Bool $kosul Koşul true olduğu sürece döngü dönmeye devam eder.
Kullanımı
$i = 1;

while( $i <= 3 )
{
    echo $i . "<br>";
    $i++;
}
1
2
3
$sayac = 1;
$deger = 'A';

while( $deger !== NULL )
{
    echo $sayac . "<br>";

    if( $sayac === 5 )
    {
        $deger = NULL;
    } 

    $sayac++;
}
1
2
3
4
5

 

 

# For Döngüsü


For döngüsü hem foreach'ın hem de while döngüsünün yaptığı işlemi tek başına yapabilir. Ancak dizi ve objelerle çalışıyorsanız foreach döngüsü kullanmak işinizi çok daha kolaylaştıracaktır. For döngüsü while döngüsünün aksine sayma işlemini kendi içerisinde gerçekleştirir.

Söz Dizimi
for( $baslangic; $kosul; $degisim )
{
    # Kodlarınız
}
Int $baslangic Sayma işleminin hangi sayıdan bağlanacağını belirtir.
Bool $kosul Koşul true olduğu sürece döngü dönmeye devam eder.
Int $degisim Döngünün her dönüşünde $baslangic değerinin kaçar kaçar artacağı veya azalacağı.
Kullanımı
for( $i = 1; $i <= 3; $i++ )
{
    echo $i . "<br>";
}
1
2
3
Bilgi: Artırma işlemi döngü bir kez çalıştıktan sonra yapılır.