Php Ders 4 - Döngüler.
Php ile döngüler: For, Do, While
Bu ders sonunda php ile döngüleri kullanabileceksiniz.
Döngüler tekrar eden işlemleri yapmakta kullanılır. Başlangıçta anlamsız gelebilir ama 100 üyeli bir web sayfanız varsa hepsinin adını tek tek yazmak yerine döngü kullanarak üç satırda işinizi bitirebilirsiniz.
Daha basit olduğu için FOR döngüsü ile başlayacağız. For döngüsü verilen artırma değerine göre döner. Dönerken aradaki işlemleri tekrar tekrar yapar. yazılması şu şekildedir.
for( $değişken ; dönme şartı ; her dönüşte yapılacak işlem)
$değişken: dönmeye ilk başladığı anda bir değişken üretmeyi sağlar
dönme şartı: Buradaki şart aslında bir IF komutudur. sorulan soru doğru ise dönmeye devam eder.
her dönüşte yapılacak işlem: Dönme sırasında herzaman birer birer arttırmak zorunda değilsiniz. bu işlemi değiştirip üçer üçer veya beşer beşer saydırabilirsiniz.
for ( $say=1 ; $say < 100 ; $say++ )
{
print " şu anda $say sayısındayım";
}
bu komutu çalıştırdığınızda. şöyle bir sonuç çıkar:
şu anda 1 sayısındayım
şu anda 2 sayısındayım
şu anda 3 sayısındayım
şu anda 4 sayısındayım
....
Bu şekilde 99 kere devam eder. verilen şart $say <100 olduğu için $say==100 olduğunda dönme sona erer.
Başka bir örnek: Tek sayıları yazdıralım
for ( $say=1 ; $say < 100 ; $say=$say +2 )
{
print " Tek sayılar: $say ";
}
While Döngüsü
While döngüsü üsttekinin biraz daha sade halidir. Fakat sadece sayılar için kullanılmaz. While döngüsü tek bir şarta bağlı olduğu için dikkatli kullanmak gerekir.
Yazılışı:
While (Soru)
{
// Soru doğru ise yapılacak işlem
}
örnek: $civciv örneğini tekrar yapalım.
{
print " Açım, Çok acıktııım";
}
Bu örneği çalıştırdığınızda ekrana bir milyon kere Açım yazdığını göreceksiniz. Sebebi ise $civciv´in hiçbir zaman içi dolmuyor ve While her dönüşünde aynı soruyu soruyor, cevap Evet ise dönmeye devam ediyor.
Yukarıdaki örneği aşağıdaki şekilde değiştirdiğimizde ise sadece 10 kere dönecektir.
{
print " Açım, Çok acıktııım";
$civciv = $civciv + 1 ;
}
Bu örnekteki en önemli kısım aslında $civciv = $civciv + 1 satırıdır, Eğer bunu anlayabiliyorsanız programlama sizin için tamam demektir.
Şimdi bu kısma dikkatle okuyalım:
Programlama yaparken bilgisayar eşitliğin sağındaki işlemi yapar ve sol tarafa aktarır. Sağ taraftaki değişken yapılan işlemden etkilenmez.
Bu işlem sonunda $ciciv bir sayı arttırılmış olur. Diyelim ki: $civciv=5 bu işlemden sonra $civciv=6 olmuştur.
Ödev: Bu kısmı iyice düşünün ve 10 kere okuyun. Bunu çözerseniz programcı olmanın en zor kısmını geçtiniz demektir.
Soru: Aşağıdaki kodun sonucu kaç yazar.
$kutu= 3;
while($say < 100)
{
$kutu= 10 ;
$say = $say + $kutu;
}
print " $say ";

Şimdi Hocam şöylemi oluyo php bilgim 0 olduğu için sorma gereksinimi duydum anlatım tarzı bakımındna mükemmel anlatıyosuuz öncelikle bunu söyliyim.
şimdi üstte iki tane değişken var
$say=6;
$say=3; diye
bunların sadece birini aşaıya çağırıyo oda $say değişkeni
while($say < 100) burda ´´6´´ dan 100 e kadar say diyor arada 96 Sayı olucak daha sonra bir aşağıda bir değişken daha
$kutu= 10 ; şimdi yeni bir kutu geldiği için yukardaki kutuyu görmüyoruz bundan önceki derste öyle anlatmıştın
sonra değişkeneri topluyoruz
$say = $say + $kutu; yane $say 96 çıkmıştı $kutu da 10 bu durumda 106 $say oluyor
aşağıyada yazdır
print " $say "; 106 böylemi yoksa ben yanlış başka bir yöntemlemi buldum ?
Şimdi Hocam şöylemi oluyo php bilgim 0 olduğu için sorma gereksinimi duydum anlatım tarzı bakımındna mükemmel anlatıyosuuz öncelikle bunu söyliyim.
şimdi üstte iki tane değişken var
$say=6;
$say=3; diye
bunların sadece birini aşaıya çağırıyo oda $say değişkeni
while($say < 100) burda ´´6´´ dan 100 e kadar say diyor arada 96 Sayı olucak daha sonra bir aşağıda bir değişken daha
$kutu= 10 ; şimdi yeni bir kutu geldiği için yukardaki kutuyu görmüyoruz bundan önceki derste öyle anlatmıştın
sonra değişkeneri topluyoruz
$say = $say + $kutu; yane $say 96 çıkmıştı $kutu da 10 bu durumda 106 $say oluyor
aşağıyada yazdır
print " $say "; 106 böylemi yoksa ben yanlış başka bir yöntemlemi buldum ?
Hocam php bilgim yok ama uzun zamandan beri fortranla programlama yapıyorum ve çok da farklı gelmedi açıkcası. Benim anladığım olay şu şekilde:
$say değişkenimiz için ilk olarak 6 değeri atanıyor. Bu değer while döngüsünün $say<100 şartını sağladığı için döngüye 6 değeri ile başlıyor. Ancak döngünün içerisinde $kutu değişkeninin önceden 3 olan değeri 10 olarak değiştiriliyor. Yani 3 değeri uçtu gitti artık yok :)
$say=$say+$kutu eşitliğinde de ilk döngüde $say=6+10=16 oluyor.
Sonraki döngülerde de $say değişkeni sırasıyla 26(16+10), 36,46,56,66,76,86,96 ve 106 oluyor. 106 değeri için 106<100 koşulu sağlanmadığından while döngüsü sona eriyor ve print komutu da $say değişkeninin son değeri olan 106´yı sonuç olarak veriyor. Umarım yardımcı olabilmişimdir.
110 olması gerekmiomu hocam cevap verirseniz sevinirim
mod cvp bekliyoruz ben bu odevi anlıyamadım
mod olmasamda
tiyo büyük bir zattan :D kesinlikle cevap 106 :D biz biliyorum :D
While Döngüsü kullanımı
Arkadaşlar şöyle açıklayayım.
$kutu= 3;
while($say < 100) {
$kutu= 10 ;
$say = $say + $kutu;
}
print " $say ";
Çıktı Olarak Şu Şekildedir.. :
-------------------
Döngüden Önce :
|-- 6 --|-- 3 --|
Döngü Başlayınca :
|-- 16 --|-- 10 --|
|-- 26 --|-- 10 --|
|-- 36 --|-- 10 --|
|-- 46 --|-- 10 --|
|-- 56 --|-- 10 --|
|-- 66 --|-- 10 --|
|-- 76 --|-- 10 --|
|-- 86 --|-- 10 --|
|-- 96 --|-- 10 --|
Toplam ( Yani print " $say ";) : 106
gördüğünüz üzere $say 6 değerinden başladı ve en son verilen değer 96 oldu fakat döngü her döndüğünde değer 10 artığı için ve bir defa daha artarsa 100 ü geçeceğinden dolayı son değerde 96 + 10 = 106; oldu..
$kutu değişkeni yukarıda ne kadar 3 olarak tanımlanırsa tanımlansın işleme
( $say = $say + $kutu; ) girmeden önce değiştiğini unutmayınız.
Teşekkürler..
vay bea helal olsun müthiş tercüme :D