PHP - Foreach Döngüsü Kullanımı

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Seçkin Üye
Katılım
8 Mar 2017
Mesajlar
406
Çözümler
1
Tepki puanı
42
9 HİZMET YILI
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:
<?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.

Kod:
<?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ş oldul.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.

Kod:
<?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.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst