PHP Dilinde Denetimsel İfadeler ve Akış Kontrol – Bölüm 3

PHP Dilinde Denetimsel İfadeler ve Akış Kontrol – Bölüm 3
Ekim 19 23:15 2012 Bu yazıyı yazdır

Merhaba,

PHP dilinde deneyimsel ifadeler ve akış kontrol 1 ve 2. bölümlerini daha önce yayınlamıştım. Bu yazıda, son bölümü yayınlayacağım.

Do..While Döngüsü

While döngüsü, yapılması gereken koşulun doğruluğuna( true ya da false olması ) bakmaz. Koşula bakmadan işleme aldığı için döngülerde hatalar oluşabilmektedir. Bu hatalar döngülerin bazen sonsuza gitmesine neden olan hatalardır. Başka bir deyişle while döngüsünün yapacağı olay aslında yapılamayabilir. Ancak koşulun olay olduktan sonra yapılmasına ilişkin bir yol vardır. Bu da do..while döngüsüdür. Yapısı while döngüsünün ters döndürülmüş haline benzer.

Bu döngüde unutulmaması gereken bir nokta, while döngüsünün yazıldığı satır sonuna ; işareti koymak gerekliliğidir. Bu zorunluluk da do..while döngüsünü, while döngüsünden ayıran belirgin bir özelliktir.

Yukarıda, 1 ile 8 arasındaki (1 dahil, 8 dahil değil) rakamları yukarıdan aşağıya, kendi değerlerindeki yazı boyutları sıralıyoruz. Dolayısıyla,bu program çalıştırılıp ekran görüntüsü alındığında aşağıdaki gibi bir görüntü oluşacaktır.

Uygulama ekran görüntüsü

For Döngüsü

Sayısı fazla olan verilere erişmek için etkin yollardan biri de for döngüsünü kullanmaktır. Yani büyük bir olaylar bütününe tek bir satır ile ulaşabilmeyi sağlamaktadır. While ile yapısal ve amaçsal olarak benzerlik gösterir. While döngüsündeki veriye erişme işlemlerine geri dönersek, ilk olarak değişken ataması yapıldığını ve sonrasında koşul belirleyip, istenen olayı çalıştırmaya başladığımızı hatırlayacağız. Durum böyle iken while döngüsüne alınan bir olay, satırlar dolusu script demektir. for döngüsünü bundan ayıran özellik, koşulların tek bir satır içerisine konulmasıdır. Aşağıda for döngüsünün yapısı gösterilmiştir.

Görüldüğü gibi değişken ataması, koşul ve sorgu yönü(artan-azalan) tek bir satırda gösterilerek işlem, olayın yapılmasına geçmektedir. Bu yönüyle while döngüsünden daha kullanışlı olduğu görülmektedir.

Program çalıştırılıp ekran görüntüsü alındığında aşağıdaki gibi bir tablo meydana gelecektir.

Uygulama ekran görüntüsü

Şekil ’de görülen ekran çıktısı, 1 ila 10 arasındaki sayılar (kendileri de dahil olmak suretiyle) bir sıralama içine alınmıştır.

Continue ve Break İfadeleri

Döngüler her zaman basit yapıda karşımıza çıkmazlar. Zira karışık sistemlerin detayına bakıldığında, iç içe geçmiş karmaşık döngüleri görmek mümkün olacaktır.

Bir for döngüsü içinde değişik yapıda koşulları sağlamasına karşılık çalışmasını isteyeceğimiz kriterler olacaktır. Bunlar için bazı ifadeler vardır. Bu ifadeler Continue ve break ifadeleridir.

Break komutunu döngü içinde kullanmak ve döngüyü sonlandırmak

Break komutu, İngilizce “sonlandırmak”, “kırmak” gibi anlamlar için kullanılmaktadır. PHP programlama dili kapsamındaki karşılığı da amacına hitap eden bir anlam taşımaktadır. Döngüler çoğu zaman hata verebilecek koşulları da içerirler. Break komutu hata verebilecek bu koşulları belirleyip döngüden uzaklaştırır.

1 ile 5 arasında rakamları yan yana yazdırmak isteyelim. Fakat 4 rakamını yok saymasını isteyelim.

Ekran çıktısı “123” olacaktır. Çünkü $rakam değişkeni, döngü çalışmakta iken 4 olduğu anda döngü break komutu ile sonlanır ve daha sonraki rakamlar göz ardı edilir.
Continue komutu

Continue, break komutunda olduğu gibi döngünün belirli bir koşul sağlanmadığı durumda sonlanmasını sağlar. Ancak break gibi tamamen sonlandırmaz. Koşulla belirlenen kısmı keser ve döngüye devam eder.

Program çalıştırılıp çıktı alındığında “1235” yazdırıldığını göreceğiz. Uygulama 4.6.1 ile aynı mantıkla oluşturulmuş script, break yerine continue kullanmış ve sonucun farklı olduğunu görmüş olduk. Break komutu döngüyü tamamen sonlandırmakta ve sonuç 123 olarak görüntülenmektedir. Fakat continue komutu, $rakam değişkeni 4 olduğu an döngüye ara verip, 4 rakamını göz ardı etmektedir. Daha sonra ise döngüye tekrardan devam edildiği görülecektir.
1.Bölüm
2.Bölüm

  Yazı şöyle etiketlendi:
  Kategoriler:
A.Gökhan, M.Sc.
A.Gökhan, M.Sc.

My Name is A. Gokhan SATMAN, and I am a software engineer, Author and game developer. gokhansatman.com

Daha fazla yazı görüntüle
Yorum yaz

0 Yorum

Henüz yorum yok

Tartışma başlatabilirsin.

Yorum ekle

Your data will be safe! Your e-mail address will not be published. Also other data will not be shared with third person.
All fields are required.

*