Yazdır 21 Mart 2010 Pazar (Hit: 134374)

for Döngüsüyle İlgili Örnekler

Örnek: Tanımlı olan sayının çarpım tablosunu ekrana yazdıralım.

<?php
$sayi=7;
for ($i=1;$i<=10;$i++)
   echo "$sayi x $i = ",$sayi*$i,"<br>";
?>

Not: Unutmayın artimetik işlemler çift tırnak içinde yapılmaz.

 

Örnek: Tanımlı olan sayının faktöriyelini bulalım.

<?php
$sayi=5;
$faktoriyel=1;
for($i=1;$i<=$sayi;$i++)
   $faktoriyel*=$i;
echo "$sayi!=$faktoriyel";
?>

 

Örnek: Tanımlı olan sayının tam bölenlerini bir diziye atayıp ekrana yazalım.

<?php
$sayi=120;
for($i=2;$i<=$sayi/2;$i++)
   if ($sayi%$i==0)
      $bolenler[]=$i;

echo "<u>$sayi sayısının tam bölenleri:</u><br>";
for ($i=0;@$bolenler[$i];$i++)
   echo $bolenler[$i],"<br>";
?>

 

Örnek: Ekrana küçükten büyüğe doğru tanımlı olan metni yazdıralım.

<?php
$mesaj="ilim ilim bilmektir ilim kendin bilmektir";
for ($i=1;$i<=7;$i++)
   echo "<font size='$i'>$mesaj</font><br>";
?>

şimdi de yukarıdaki mesajın devamını azalan döngü ile ekrana yazdıralım.

<?php
$mesaj="sen kendini bilmezsen ilim nice okumaktır";
for ($i=7;$i>=1;$i--)
   echo "<font size='$i'>$mesaj</font><br>";
?>

Burada koşula dikkat ediniz. Arttırma değil azaltma yapıldığına da dikkat ediniz.

 

Örnek: for döngüsü ile 5 satır 3 sütunlu bir tablo oluşturalım.

<?php
echo "<table border='1' width='200px'>";
for ($i=1;$i<=5;$i++){
   echo "<tr>";
   echo "<td>&nbsp;</td>";
   echo "<td>&nbsp;</td>";
   echo "<td>&nbsp;</td>";
   echo "</tr>";
}
echo "</table>";
?>

 

Örnek: for döngüsü ile 10 satır 2 sütünlu bir tablo oluşturalım. Ancak satırların renklerini farklı gösterelim.

<?php
echo "<table border='1' width='200px'>";
for ($i=1;$i<=10;$i++){
   echo "<tr bgcolor='",($i%2)?"#abda68":"#d0f896","'>";
   echo "<td>&nbsp;</td>";
   echo "<td>&nbsp;</td>";
   echo "</tr>";
}
echo "</table>";
?>

 

Örnek: 1'den 20'ye kadar olan sayıları ve karesini bir tablo içinde ekranda gösterelim.

<?php
echo "<table border='1' width='200px'>";
echo "<tr>";
echo "<th>Sayı</th>";
echo "<th>Karesi</th>";
echo "</tr>";
for ($i=1;$i<=20;$i++){
   echo "<tr>";
   echo "<td>$i</td>";
   echo "<td>",$i*$i,"</td>";
   echo "</tr>";
}
echo "</table>";
?>

 

Örnek: Açılır listeye il plaka numaralarını dolduralım.

<?php
echo "İl Seçiniz: <select name='iller'>";
for ($i=1;$i<=81;$i++){
   echo "<option value='$i'>$i</option>";
}
echo "</select>";
?>

Şimdi aynı örneği 10'dan küçük sayıların başına 0 koyarak yapalım.

<?php
echo "İl Seçiniz: <select name='iller'>";
for ($i=1;$i<=81;$i++){
   echo "<option value='$i'>",($i<10)?"0".$i:$i,"</option>";
}
echo "</select>";
?>

 

Örnek: Tanımlı olan dizinin elemanlarını ekranda alt alta yazdıralım.

<?php
$takim=array("Kaan","Gürkan","Abdullah","Emin","Burak");
for ($i=0;$i<=4;$i++)
   echo $i+1,") ",$takim[$i],"<br>";
?>

 

Örnek: 1 ile 100 arasındaki sayılardan 9'a tam bölünenleri bir diziye atayıp diziyi ekrana yazdıralım.

<?php
for ($i=1;$i<=100;$i++)
   if($i%9==0)
      $sayilar[]=$i;

for ($i=0;@$sayilar[$i];$i++)
   echo $sayilar[$i]," ";
?>

Burada 9'a tam bölünebilen sayılar diziye katılmaktadır. İkinci döngüdeki @$sayilar[$i] koşulu; $i indisli bir dizi elemanı varsa anlamındadır. Eğer yoksa uyarı vermesin diye başına @ işareti koyduk.

Not: Bir komutun verdiği uyarıyı ekranda görmek istemiyorsanız o komutun başına @ işareti koymalısınız.

 

Örnek: Tanımlı olan dizinin elemanlarını açılır listeye ekleyelim.

<?php
$aylar=array("Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık");
echo "<select name='aylar'>";
for ($i=0;$i<=11;$i++)
   echo "<option value='",$i+1,"'>",$aylar[$i],"</option>";
echo "</select>";
?>

 

Örnek: Tanımlı olan notlar dizisindeki zayıf ve iyi notların sayısını ekranda gösterelim.

<?php
$notlar=array(64,52,32,96,15,77,81,25,78,55,65,40);
$zayif=0;
$iyi=0;
for ($i=0;@$notlar[$i];$i++){
   if ($notlar[$i]<45)
      $zayif++;
   else
      $iyi++;
}
echo "Zayıf not sayısı=$zayif <br> İyi not sayısı=$iyi";
?>

Size fikir vermesi açısından farklı bir çözümü de sizlerle paylaşalım.

<?php
$notlar=array(64,52,32,96,15,77,81,25,78,55,65,40);
$zayif=0;
$iyi=0;
for ($i=0;@$notlar[$i];$i++){
   $zayif+=($notlar[$i]<45)?1:0;
   $iyi+=($notlar[$i]>=45)?1:0;
}
echo "Zayıf not sayısı=$zayif <br> İyi not sayısı=$iyi";
?>

 

Örnek: Şimdi de iç içe döngülere bir örnek verelim. Örneğimizde 10'a kadar olan sayıların çarpım tablosunu ekrana yazdıralım.

<?php
for ($i=1;$i<=10;$i++){
   for ($j=0;$j<=10;$j++)
      echo "$i x $j = ",$i*$j,"<br>";
   echo "<br>";
}
?>

 

Örnek: Tanımlı olan notlar dizisindeki en büyük notu bulalım.

<?php
$notlar=array(64,52,32,96,15,77,81,25,78,55,65,40);
$enbuyuk=0;
for ($i=0;@$notlar[$i];$i++)
   $enbuyuk=($notlar[$i]>$enbuyuk)?$notlar[$i]:$enbuyuk;
echo "En büyük not=$enbuyuk";
?>

 

Örnek: Tanımlı olan notlar dizisindeki notları grafik olarak ekranda gösterelim. Bunun için dosyamınızın kayıtlı olduğu yerde cubuk.png resminin olduğunu kabul edelim.

<?php
$notlar=array(64,52,32,96,15,77,81,25,78,55,65,40);
for ($i=0;@$notlar[$i];$i++)
   echo "<img src='cubuk.png' width='20' height='",2*$notlar[$i],"'> ";
?>

Şimdi aynı grafiği tablo içinde gösterelim. Bu kez notları da altına yazalım

<?php
$notlar=array(64,52,32,96,15,77,81,25,78,55,65,40);
echo "<table border='0'>";

echo "<tr>";
for ($i=0;@$notlar[$i];$i++)
   echo "<td valign='bottom'><img src='cubuk.png' width='20' height='",2*$notlar[$i],"'></td>";
echo "</tr>";

echo "<tr>";
for ($i=0;@$notlar[$i];$i++)
   echo "<td>",$notlar[$i],"</td>";
echo "</tr>";

echo "</table>"; 
?>

 

Örnek: Bir dizideki notları küçükten büyüğe doğru sıralayalım.

<?php
$notlar=array(64,52,32,96,15,77,81,25,78,55,65,40);
$degisiklik=true;
for(;$degisiklik;){
   $degisiklik=false;
   for ($i=1;@$notlar[$i];$i++){
      if ($notlar[$i]<$notlar[$i-1]){
         $gecici=$notlar[$i-1];
         $notlar[$i-1]=$notlar[$i];
         $notlar[$i]=$gecici;
         $degisiklik=true;
      }
   }
}

for ($i=0;@$notlar[$i];$i++)
   echo $notlar[$i]," ";
?>

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