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 ";

.
ilk önce 16 bulmuştum kafamdan , sonra açıklamaları okuyunca mantığını anladım ama iş işten geçmiş oldu :( tek seferde çözüp programcı olmanın en zor kısmını geçemedim hocam...
bu kadar zevkli ve eğlenceli bir anlatım görmemiştim daha doğrusu emeğinize sağlık çok edrim
do ?
hocam konu başlığında ;
For,Do,While Döngüsü demiştiniz ama "Do" kısmını göremedim ?
hocam konu başlığında ;
For,Do,While Döngüsü demiştiniz ama "Do" kısmını göremedim ?
Bir ara derslerde visual basic görmüştük ama unuttum tabi. sanırım ona benziyor biraz bu döngü olayı. şimdilik anlıyorum ve iyi gidiyorum bakalım nolcak sonradan. bunları tasarıma nasıl aktarcağımı merak ediyorum
ilhan öztürk
$say=6;
$kutu= 3;
while($say < 100)
{
$kutu= 10 ;
$say = $say + $kutu;
}
print " $say "
while($say < 100) burada sayımız 6 kutu değişiyor ve 10 oluyor
$say = $say + $kutu yeni sayımız 10+6=16 yani 16 oluyor fakat while($say < 100) buradaki şartımız gerçekleşmedi yani 16 < 100 den hala küçük bu sebeple dönmeye devam ediyor ve yeni sayımız 26=16+10 oluyor bu şekilde 96 ya kadar devam ediyor ve son döngüye giriyor 96<100 den ve 96+10=106 oluyunca 106<100 den büyük hale geliyor ve döngü duruyor. print " $say " burada ekrana yazdırdıgımız $say 106 olmuş oluyor. çözene kadar belki 20 kere okudum :D ama gayet iyi anladım.
emeği geçenlere teşekkür ederim.
türkçesi
Öncelikle bizleri bilgilendirdiği için yazara çok teşekkürler.
işin türkçesi bilgisayara diyoruz ki;
$say = $say + $kutu " $say değişkeninin üstüne $kutu değişkenini ekle
while($say < 100) " ve bunu $say değişkeni 100 değerinden büyük olana dek tekrar et (while döngüsü ile)
Değişken değerleri ile oynayarak localhost ta tekrarlamnızı tavsiye ederim.
16
çokdoğru