Yazdır 24 Mart 2010 Çarşamba (Hit: 14683)

foreach Döngüsü

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