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
Örnek:

 


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.

 

while($civciv=="")
{
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.

 

while($civciv < 10)
{
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.

$say=6;
$kutu= 3;

while($say < 100)
{

$kutu= 10 ;

$say = $say + $kutu;

}

print " $say ";

 

Her programcı birgün Php yi tadacaktır
2009-11-08 21:48:42 Edit:2009-11-15 12:14:20

    Php Dersleri

    Perihan

    Ben buraya kadar anladım ama bu döngü biraz karışık gibi.

    Daha basit bir ders yokmu.

    2009-11-13 12:18:54

      smyrna İsmail Avatar
      Yazan:Perihan

      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 :)

      Para Kazanmak İsteyen buraya takılsın :)
      2009-11-14 05:45:04

        cevap : 106

        2009-11-23 02:55:59

          php döngü

          smiley güzel.

          Anlaşılmayan bir nokta olursa buraya yazınız.

          Her programcı birgün Php yi tadacaktır
          2009-11-23 15:14:56

            döngu sorusu

            omercetin78 Omer Faruk Avatar

            -----------

            $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...

            2009-12-01 03:51:08

              çö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.

              Her programcı birgün Php yi tadacaktır
              2009-12-01 04:20:53

                enigma glsh bkrc Avatar
                Yazan:drekon

                Ö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ı dimismiley

                2009-12-14 09:06:21

                  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;

                  }

                   

                   

                  Her programcı birgün Php yi tadacaktır
                  2009-12-14 10:39:41

                    enigma glsh bkrc Avatar

                    kusura bakmayın ben .NET deki do-while ile karıştırdımsmileydaha fazla karışmasınsmiley

                    2009-12-15 02:41:58
                      Alakalı Konular: döngüwhilephp dersforeach

                      phpkodlari.com © 2009 Herkes Php öğrenecek
                      Eglence ve Oyun: Gamikro