Forech döngüsü dizi değişkenler için kolaylık sağlayan bir döngü komutudur. Foreach döngüsünde diğer döngülerdeki gibi bir koşul veya sayaç kullanmanıza gerek yoktur. Döngü dizinin her bir elemanı için tekrarlanır. 5 elemanlı bir dizi için döngü 5 defa tekrarlanacaktır.
Örnek : Forech döngüsü ile dizi içerisindeki değerleri ekrana alt alta yazdırma.
<?php $bitkiler=array("Marul","Maydanoz","Domates","Patates","Patlıcan"); foreach($bitkiler as $bitki) { echo $bitki.'<br>'; } ?>
Örnekte $bitkiler isminde 5 elemandan oluşan bir dizi değişken tanımlanmıştır. Bu dizi değişken foreach döngüsü içerisinde kullanıldığında $bitkiler dizisinin her bir elemanı için döngü çalışacaktır (5 kez çalışır). Döngü her tekrar ettiğinde dizi içerisindeki değerler tanımlandığı sırayla $bitki değişkenine alınır.
Yukarıdaki örnekte foreach döngüsünün çalışma süresince aşağıda belirtilen işlemler gerçekleşecektir.
$bitkiler dizisinin 1. elemanını ("Marul") $bitki değişkenine ata ($bitki="Marul").
Döngü içerisindeki işlemleri yap (echo $bitki.'<br>'; ekrana $bitki değişkeninin değeri olan Marul yazar ve alt satıra geçer)
$bitkiler dizsinden 2. elemanı ("Maydanoz") $bitki değişkenine ata ($bitki="Maydanoz")
Döngü içerisindeki işlemleri yap (echo $bitki.'<br>'; ekrana $bitki değişkenin değeri olan Maydanoz yazar ve alt satıra geçer)
$bitkiler dizsinden 3. elemanı ("Domates") $bitki değişkenine ata ($bitki="Domates")
Döngü içerisindeki işlemleri yap (echo $bitki.'<br>'; ekrana $bitki değişkenin değeri olan Domates yazar ve alt satıra geçer)
$bitkiler dizsinden 4. elemanı ("Patates") $bitki değişkenine ata ($bitki="Patates")
Döngü içerisindeki işlemleri yap (echo $bitki.'<br>'; ekrana $bitki değişkenin değeri olan Patates yazar ve alt satıra geçer)
$bitkiler dizsinden 5. elemanı ("Patlıcan") $bitki değişkenine ata ($bitki="Patlıcan")
Döngü içerisindeki işlemleri yap (echo $bitki.'<br>'; ekrana $bitki değişkenin değeri olan Patlıcan yazar ve alt satıra geçer)
Foreach döngüsü ile bir dizinin değerleri yazdırılabildiği gibi gerektiğinde dizinin anahtarına (key) ulaşmakta mümkündür. Aşağıdaki örnekte $ogrencino değişkenine sırasıyla dizinin anahtarları, $ogrenciadi değişkenine de sırasıyla dizinin değerleri atanır.
<?php $ogrenciler=array(1000=>"Ali",1001=>"Veli",1002=>"Zeki",1003=>"Hasan",1004=>"Metin"); //=> işaretinin sol tarafında belirtilen değişkene ($ogrencino) dizi anahtarları atanırken //=> işaretinin sağ tarafındaki değişkene ($ogrenciadi) dizi değişkenin değerleri atanır. foreach($ogrenciler as $ogrencino => $ogrenciadi { echo "$ogrencino . $ogrenciadi<br>"; } ?>
Ekran Çıktısı :
1000. Ali 1001. Veli 1002. Zeki 1003. Hasan 1004. Metin