For Döngüsü
Komut yada komutların istenilen sayıda tekrarlanmasını sağlar. Sayaç mantığıyla çalışır. Döngüyü istediğimiz sayıdan başlatır istediğimiz sayıda sonlandırabiliriz. Döngünün değişme değerini her işlemde istediğimiz miktarda artırabilir yada azaltabiliriz. Örneğin döngümüz için başlangıç değerini 1 bitiş değerini 100 olarak belirleyebilir. Artış miktarını ise 2 olarak ayarlayabiliriz. Bu durumda döngü içindeki komutlar 50 defa tekrar tekrar çalıştırılacaktır.
For döngüsünün formatı:
for (döngü değişkeni=başlangıç değeri; şart; değişim miktarı)
{
yapılacak işlemler
}
Basit bir örnekle for döngüsünün yapısını ve çalışmasını inceleyelim.1 den 10 a kadar olan sayıları alt alta yazdıralım.
<?
for ($i=1;$i<=10;$i++) //başlangıç değerimizi 1, bitiş //değerimizi 10, ve değişim miktarını +1 olarak belirledik
{
echo $i; // değişken değeri ekrana yazdırılıyor
echo "<br>"; //bir satır alta geçiliyor
}
?>Ekran Çıktısı
1
2
3
4
5
6
7
8
9
10
While döngüsü
While döngüsü, içerisinde tanımlanan koşul sağlandığı sürece belirli komut ifadesi grubunun çalıştırılmasını sağlar. Şart ifadesinin doğruluğu her döngünün başında kontrol edilir, buna göre döngünün içerisindeki komut ifadeleri çalıştırılmaya devam eder ya da döngü sona erer. Eğer şart sağlanmıyorsa, while döngüsüne hiç girillmez.
While döngüsünün formatı :
while(şart)
{
Yapılacak işlemler
}
Örnek bir program üzerinde while döngüsünü inceleyelim. Daha önce for döngüsü ile yaptığımız 1 den 10 a kadar olan sayıları yazdıran programı while döngüsü ile yazalım. Böylece hem while döngünün kullanımını hem de iki döngü arasındaki farklılıkları göreceksiniz.
<?
$i=1; //başlangıç değerini belirledik
while ($i<=10) //10 a kadar olma şartımızı belirledik
{
echo $i; //değişken değerini yazdırdık
echo "<br>"; //bir alt satıra geçtik
$i++; //değişken değerimizi 1 arttırdık
}
?>While (True) -->Şart eğer dogru ise döngüye gir
While (False) -->Şart eğer yanlış ise döngüye girme
Dikkat edilmesi gereken bir başka nokta ise $i++ ifadesi(bu değer değişikliği komutunu farklı artış ve azalmalar sağlayacak şekilde de yazabilirsiniz.) Döngümüzün sonunda olduğu için döngümüzün son çalıştığı seferde (i=10 durumunda) son bir kez daha 1 arttırılarak 11 e eşit olacaktır. 11<=10 ifadesi false sonucu döndürdüğünden döngü tekrar çalışmayacaktır.
Çalışma Örnekleri :
ÖRNEK 1:
<?php
for($y=1;$y<=5;$y++)
{ for($x=1;$x<=$y;$x++)
{echo "*";}
echo "<br>";
}
?>Ekran Çıktısı:
*
**
***
****
*****
ÖRNEK 2:
<?
$i=10;
while($i>=0)
{ echo "$i";
echo "<br>";
$i--;
}
?>Ekran Çıktısı :
10
9
8
7
6
5
4
3
2
1
0
ÖRNEK 3:
[code]<?php
for($x=10;$x>0;$x--)
echo "$x<br>";
echo "<br>";
for($x=1;$x<=10;$x++)
echo "$x<br>";
?>[]/code
Çalışma Soruları :
SORU 1: Çarpım tablosunu yapan programı yazınız.
CEVAP 1 :
<?
for($i=1;$i<=10;$i++)
{for($j=1;$j<=10;$j++)
{ echo $i."*".$j."=".$i*$j."<br>";}
echo "<br>";
}
?>SORU 2: 1+1/2+1/3+1/4+..... şeklindeki toplama işleminin ilk 50 elemanı için sonuç değerini bulan kodu yazınız.
CEVAP 2:
<?
$toplam=0;
for($i=1;$i<=50;$i++)
$toplam=$toplam+(1/$i);
echo "1+1/2+1/3+1/4+....1/50=".$toplam;
?>