Php Foreach Döngüsü Kullanımı

{{ page.title }}

Foreach döngüsü genellikle bir dizi, obje v.s sonunu bilmediğimiz zaman kullandığımız bir fonkisyondur.

Foreach döngüsü dizi içerisindeki bütün elemanları gezdikten sonra durur.Örnekler üzerinden açıklamaya başlarsak mysql veritabanından sarı saçlı, mavi gözlü bütün kullanıcıları çektiğimizi düşünelim. Bu tanıma uyan kaç adet kullanıcı olduğunu bilmiyoruz ozaman veritabanından gelen veriyi foreach içine alıp bu tanıma uyan bütün kullanıcıları rahatlıkla bulabiliriz.

Peki sadece boyutunu bilmediğimiz diziler içinmi kullanırız ? bu sorunun cevabı hayır dizinin boyutunu biliyorsak yine kullanabiliriz fakat genellikle dizi boyutunu bilmediğimiz zaman kullandığımız bir fonksiyondur.

Kod Yapısı

<?php
$sehirler = array(
'İstanbul',
'Ankara',
'Adana',
'Kahramanmaraş',
'Şırnak',
'Kayseri',
'Malatya'
);
foreach($sehirler as $sehir)
{
echo $sehir;
echo "<br>";
}
/*
//ÇIKTI
İstanbul
Ankara
Adana
Kahramanmaraş
Şırnak
Kayseri
Malatya
*/
?>

Yukarıdaki örnekde sehirler dizimize birkaç şehir ekledik.Ardından Foreach döngüsünde $sehirler kısmını yazdık as ( alias ) ile foreach her döndüğünde içindeki değerlere erişebilmek için $sehir adında bir değişkene aktardık. Artık foreach her dönüşünde $sehir değişkeninde farklı bir şehirin adı olacaktır. En son şehir adını ekrana basıp **<br>** ile bir boşluk bıraktık ve çıktımız yukarıda gözüktüğü olacaktır.

Foreach döngüsü ile dizimizin anahtar değerlerinide alabiliriz.Yukarıdaki örneğimizde eğer dizimizin anahtar değerlerinide yazdırmış olsaydık 0 dan başlayıp 6’ya kadar rakamları yazacaktı.Anahtar değerleri yazdırma ile’de bir örnek yapalım.

<?php
$isimler = array(
'ali',
'ahmet',
'sezen',
'sezai',
'durmuş',
'murat'
);
foreach($isimler as $anahtar => $isim)
{
echo " ANAHTAR => " . $anahtar . " VE ISIM => ".$isim;
echo "<br>";
}
/*
//ÇIKTI
ANAHTAR => 0 VE ISIM => ali
ANAHTAR => 1 VE ISIM => ahmet
ANAHTAR => 2 VE ISIM => sezen
ANAHTAR => 3 VE ISIM => sezai
ANAHTAR => 4 VE ISIM => durmuş
ANAHTAR => 5 VE ISIM => murat
*/
?>

Yukarıdaki anahtar değerlerini yazdırma örneğinde ise yine bir dizi tanımladık fakat bu sefer dizimid isimleri ekledik. Daha sonra foreach döngümüze ilk olarak $isimler değişkenini verdik. Burayı dikkatli okumanız gerekmektedir. Ardından as takısı ile $anahtar adlı değişkene her dönüşdeki anahtar değerini atamış olduk ve verimize erişebilmek için de anahtar değişkeninde sonra => işareti ile verilerimiz bu değişkende tutulacağını işaret etmiş olduk.

En son olarakda anahtar değerlerini ve isimlerini alt alta yazdırdık.Dersi bitirmeden önce son bir örnek daha yapalım fakat bu sefer biraz daha karmaşık olsun sayılar , yazılar , anahtarların bazılarını elle girelim.

<?php
$veriler = array(
74 => 'armut',
'ingilizce' => 'elma',
'testanahtar' => 'ayşe',
1,
2,
'gülelim' => 90,
'filiz',
'gel' => 'istanbul',
'leyla',
99
);
foreach ($veriler as $anahtar => $veri)
{
echo " ANAHTAR => " . $anahtar . " VE ISIM => ".$veri;
echo "<br>";
}
/*
//ÇIKTI
ANAHTAR => 74 VE ISIM => armut
ANAHTAR => ingilizce VE ISIM => elma
ANAHTAR => testanahtar VE ISIM => ayşe
ANAHTAR => 75 VE ISIM => 1
ANAHTAR => 76 VE ISIM => 2
ANAHTAR => gülelim VE ISIM => 90
ANAHTAR => 77 VE ISIM => filiz
ANAHTAR => gel VE ISIM => istanbul
ANAHTAR => 78 VE ISIM => leyla
ANAHTAR => 79 VE ISIM => 99
*/
?>

Son Örneğimizde veriler adında bir dizi tanımladık bu dizimizde içine şehirler,meyveler,isimler,sayılar ve bazı anahtarlar ekledik. Bazı verilere de anahtar eklemedik. Foreach döngümüzün içinde veriler değişkenini yazdık ve yine as ile anahtarımızı işaret ettik. Ardından anahtardan sonra => işareti ilede içindeki veriyi veri adlı değişkene aktardık.

En son olarak da yine bir önceki örnekteki gibi ekrana bastırdık. Çıktıya baktığımız zaman bu sefer bir öncekinden farklı olarak anahtarların bazıları sayı olarak değilde metin olarak eklediğimizi görüyoruz. Fakat dikkatinizi çeken bir önemli konu ise anahtar değeri atamamış olduğumuz verilerin 0 anahtarı ile başlaması gerekirken 75 sayısından başladığını görüyoruz. Bunun sebebi ilk satıra yazdığımız 74 numaralı anahtardan kaynaklanmaktadır. Dizi sanki 74 adet veri varmış gibi sonra anahtarı 75 olarak görüp 75 den başlatmaktadır.

BOT Benson Topluluk kurucusu ve bir yazılımcı.