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 ";
Php Dersleri
Ben buraya kadar anladım ama bu döngü biraz karışık gibi.
Daha basit bir ders yokmu.
Ben buraya kadar anladım ama bu döngü biraz karışık gibi.
Daha basit bir ders yokmu.
Aslında çok karışık değil hoca yukarda kutuya başka değer vermiş belki kafan 3 sayısına gitmiştir ancak değişken konusunu iyi incelersen bu ders çok basit gelecektir sana :)
cevap : 106
php döngü
güzel.
Anlaşılmayan bir nokta olursa buraya yazınız.
döngu sorusu
-----------
$say=6;
$kutu= 3;
while($say < 100)
{
$kutu= 10 ;
$say = $say + $kutu;
}
print " $say ";
------------
şimdi burada ilk önce $say değişkenine 6 değerini atıyor. $kutu değişkenine de 3 değerini atıyor. sonra $say değişkeni 100´den küçük olduğu müddetçe, yani onu sağladığı müddetçe $kutu´yu 10´a eşitliyor. $say=$say+$kutu; ifadesini tam anlayamadım... :( civciv ifadesinde $civciv+1 yazarken 1 artırarak yazdırıyordu. buradakini tam anlayamadım. birisi açıklarsa sevinirim. teşekkürler...
çözüm
Önceki örnekten farkı şu: Bu döngü birer birer artmıyor. While kullanıldığı için artma miktarı diye bir kavram olmaz.
while(şart) burdaki şartın cevabı evet olduğu sürece döner.
her döndüğünde $say=$say+$kutu işlemi yapılıyor.
1. seferde: $say=6 , $kutu=10 bu durumda $say = 16 olur
2. seferde: $say=16, $kutu=10 bu durumda $say=26 olur
Bu şekilde her döndüğünde 10 artarak gider. sonuçta FOR döngüsü gibi sabit değildir. parantez içindeki işlemlerde çarpma yaparsanız döngü çok daha çabuk biter.
Zaten bu dersi anladıysanız döngülerle ilgili fazla bir sıkıntınız kalmaz. bundan sonra dizileri de anlarsınız işin zor kısmı bitmiş demektir.
Önceki örnekten farkı şu: Bu döngü birer birer artmıyor. While kullanıldığı için artma miktarı diye bir kavram olmaz.
while(şart) burdaki şartın cevabı evet olduğu sürece döner.
her döndüğünde $say=$say+$kutu işlemi yapılıyor.
1. seferde: $say=6 , $kutu=10 bu durumda $say = 16 olur
2. seferde: $say=16, $kutu=10 bu durumda $say=26 olur
Bu şekilde her döndüğünde 10 artarak gider. sonuçta FOR döngüsü gibi sabit değildir. parantez içindeki işlemlerde çarpma yaparsanız döngü çok daha çabuk biter.
Zaten bu dersi anladıysanız döngülerle ilgili fazla bir sıkıntınız kalmaz. bundan sonra dizileri de anlarsınız işin zor kısmı bitmiş demektir.
while döngüsü başta değilde sonda olsaydı 96 cıkadı dimi
while
detaylara takılmayalım.
en alta 96 yazması için aşağıdaki gibi olabilirdi: kod şeklinde yazarsanız daha net konuşabilirim.
$say=6;
$kutu= 3;
while($say < 100)
{
$kutu= 10 ;
print " $say ";
$say = $say + $kutu;
}
kusura bakmayın ben .NET deki do-while ile karıştırdımdaha fazla karışmasın
