PHP dersimiz.
Örnek: Tanımlı olan sayının çarpım tablosunu ekrana yazdıralım.
PHP:
<?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:
<?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:
<?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:
<?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:
<?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:
<?phpecho "<table border='1' width='200px'>";for ($i=1;$i<=5;$i++){ echo "<tr>"; echo "<td> </td>"; echo "<td> </td>"; echo "<td> </td>"; echo "</tr>";}echo "</table>";?>
PHP:
<?phpecho "<table border='1' width='200px'>";for ($i=1;$i<=10;$i++){ echo "<tr bgcolor='",($i%2)?"#abda68":"#d0f896","'>"; echo "<td> </td>"; echo "<td> </td>"; echo "</tr>";}echo "</table>";?>
Örnek: 1'den 20'ye kadar olan sayıları ve karesini bir tablo içinde ekranda gösterelim.
PHP:
<?phpecho "<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>";?>
PHP:
<?phpecho "İ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:
<?phpecho "İl Seçiniz: <select name='iller'>";for ($i=1;$i<=81;$i++){ echo "<option value='$i'>",($i<10)?"0".$i:$i,"</option>";}echo "</select>";?>
PHP:
<?php$takim=array("Kaan","Gürkan","Abdullah","Emin","Burak");for ($i=0;$i<=4;$i++) echo $i+1,") ",$takim[$i],"<br>";?>
PHP:
<?phpfor ($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:
<?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:
<?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:
<?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:
<?phpfor ($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:
<?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:
<?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:
<?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:
<?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]," ";?>