foreach
(PHP 4, PHP 5, PHP 7, PHP 8)
foreach yapısı diziler üzerinde yineleme yapmayı
kolaylaştırmaktadır. foreach yalnızca diziler ve nesneler
için kullanılabilir; farklı veri türünde veya ilklendirilmemiş bir değişken
ile kullanmak istediğinizde hata verir. İki sözdizimi mevcuttur:
İlk sözdizimi yinelenebilir_ifade ile belirtilen
yinelenebilirin etrafında döner. Her yinelemede, sırası gelen elemanın değeri
$değer değişkenine atanır.
İkinci yöntem de aynı şeyi yapar, ek olarak her yinelemede sırası gelen
elemanın anahtarı $isim değişkenine atanır.
foreach işlevinin, current()
ve key() gibi işlevler tarafından kullanılan dahili dizi
göstericisini değiştirmediği unutulmamalıdır.
PHP 5'den itibaren, nesneleri
yinelemek mümkün olmuştur.
$değer değişkeninin önüne & koyarak dizi elemanları
üzerinde kolayca değişiklik yapılabilir. Böylece değer gönderimli hale gelir.
Uyarı
$değer gönderim için kullanıldığından
foreach döngüsünün sonunda son dizi elemanına
gönderimli olarak kalır, bu bakımdan döngünün sonunda bu gönderimin
unset() işlevi kullanılarak kaldırılması önerilir.
Yoksa aşağıdaki davranışla karşılaşırsınız:
Bir sabit dizinin değerini gönderim olarak yinelemek mümkündür:
Bilginize:
foreach
@ kullanarak
hata iletilerini göstermeme yeteneğini desteklemez.
Değişik kullanımlara örnekler:
İç içe dizilerin list() ile ayrıştırılması
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
Dizi dizileri üzerinde döngü
oluşturmak ve list() işlevini değer olarak kullanmak
suretiyle içteki diziyi döngü değişkenlerine atayarak onu da açmak artık
mümkündür.
Örneğin:
İçteki dizinin gerekmeyen elemanlarını list() içinde
içermeyebilirsiniz:
list() için yeterli sayıda dizi elemanı yoksa bir uyarı
üretilir.: