Bu döngü dizilerde kullanılır. Dizinin elaman sayısını bilmeden değerlerini ve indislerini almak için kullanılır. Kullanımı şu şekildedir.
foreach ($dizi as $indis=>$deger){ // çalışmasını istediğiniz kodlar }
Bu yapıda indis kısmı isteğe bağlı olarak kullanılır.
Örnek olarak tanımlı olan dizinin sadece değerlerini ekrana yazdıralım.
<?php $gunler=array("Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi","Pazar"); foreach($gunler as $deger) echo $deger,"<br>"; ?>
Şimdi aynı dizinin değerlerini indisleriyle beraber yazdıralım.
<?php $gunler=array("Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi","Pazar"); foreach($gunler as $indis=>$deger) echo $indis,"=>",$deger,"<br>"; ?>
Örnek: Aşağıdaki dizinin değerlerini indisleriyle beraber ekrana yazalım.
<?php $personel=array("Müdür"=>"Nihat","Yardımcı"=>"Uğur","Memur"=>"Haşim","Hizmetli"=>"Ufuk"); foreach($personel as $gorev=>$isim) echo "<strong>$gorev</strong>: $isim<br>"; ?>
Örnek: Tanımlı olan dizideki sayıların toplamını bulalım.
<?php $sayilar=array(4,5,8,9,9,1,6,7,1,7,4,2,2); $toplam=0; foreach($sayilar as $sayi) $toplam+=$sayi; echo "Toplam=$toplam"; ?>
Örnek: 1 ile 100 arasında rastgele üretilen sayının dizide olup olmadığını bulalım.
<?php $sayi=rand(1,100); $sayilar=array(42,25,68,29,79,36,86,67,61,37,74,82,42); $varmi=false; foreach($sayilar as $deger){ if ($sayi==$deger) $varmi=true; } if($varmi==false) echo "$sayi sayısı dizide yok (-)"; else echo "$sayi sayısı dizide var (+)"; ?>
Örnek: Tanımlı olan öğrencinin dizide olup olmadığını bulalım.
<?php $ogrenci="Esra"; $liste=array("Pınar","Esra","Zekiye","Ayşe","Burcu","Meral","Özge"); $varmi=false; foreach($liste as $kisi){ if ($ogrenci==$kisi){ $varmi=true; echo "<strong><u>$kisi</u></strong> "; continue; } echo "$kisi "; } echo "<br>"; if($varmi==false) echo "$ogrenci listede yok (-)"; else echo "$ogrenci listede var (+)"; ?>
Buradaki continue; ifadesi öğrenci bulunduğunda ekrana kalın ve altılı çizili olarak yazıldıktan sonra, echo "$kisi "; komutuyla tekrar ekrana yazılmaması için bir sonraki döngüye doğrudan geçmek için kullanıldı. Döngü içinde continue; ifadesinden sonraki komutlar çalışmaz ve doğrudan bir sonraki döngüye gidilir.
Bu site meslek liselerinde bilişim bölümü web programcılığı dalında okutulan internet programcılığı dersine yardımcı olması için tasarlanmıştır. İletişim için iletisim@phpdefteri.com
Apache
PHP
MySQL
PhpMyAdmin
EasyPHP
Xampp
AppServ
Wamp
W3School
www.phpdefteri.com © 2010