24 Nisan 2015 Cuma

PHP de if … else kullanımı

Bazen yazdığımız programda belirli bir koşulun sağlanması veya sağlanmaması durumlarına göre farklı kodların çalıştırılması gerekir ve bu durum programlamada dallanma olarak isimlendirilir. Örneğin bir web form doldurulurken kullanıcının cinsiyetine göre değişik sorular sorulması gerekebilir veya kullanıcının girdiği değere göre farklı işlemler uygulanması gerekebilir. İf Türkçe eğer anlamına gelmektedir ve günlük hayatta kullanım amacına benzer yani eğer şartlar şöyle ise şunu yapalım böyle ise bunu yapalım şeklinde bir kullanımı vardır.

İf deyimi kullanılırken else (değilse) bloğu her zaman yazılmak zorunda değildir. Genelde koşulun sağlanması durumunda if bloğuna yazılan komutlar çalıştırılır.

İf deyiminde önemli olan şudur yazdığınız koşul doğru ise true (olumlu/doğru) sonucu üretilir ve if’ten sonra yazdığınız kod bloğu çalıştırılır, eğer koşul sağlanmazsa false (yanlış/olumsuz) sonucu üretilir ve else’den sonra yazdığınız komutlar işletilir.

İf kontrolü neredeyse tüm dillerde benzer kullanımları olan bir kontrol yapısıdır.

Genel Kullanımı;

if (Koşul) {
         // Koşul’un sağlanması durumunda çalıştırılacak işlem kodları
} else {
        // Koşul’un sağlanmaması durumunda çalıştırılacak işlem kodları
// else (değilse anlamına gelir) bloğu yazılmak zorunda değildir!
}

Şeklindedir.


Örnek: Bir değişkenin değerinin tek veya çift olduğunu bulup görüntüleyelim.
Bir sayının tek veya çift olup olmadığını anlamak için o sayıyı 2 ye tam böleriz, eğer bölümden kalan 0 ise sayı çifttir, eğer bölümden kalan 1 veya -1 ise tek sayıdır.

% operatörü php de mod alma yani tam bölme yaparak bölümden sonra kalanı bulmak için kullanılır.

$sayi % 2 == 0 koşulunda $sayi değişkeninin değerinin 2 ye bölümünden kalanın 0 olup olmadığını kontrol ediyoruz. Php ve çoğu dilde = operatörü değişkene değer atama işleminde kullanıldığı için eşitlik kontrolü için == operatörü kullanılmaktadır.

Örneğimizde bölümden kalan 0 ise ilk kod bloğu, diğer durumlarda ikinci kod bloğu çalıştırılmaktadır.

Örnek: Bir öğrencinin derse ait dört notunun ortalamasını hesaplayıp ortalamasını ve başarı durumunu görüntüleyelim.

Öğrencinin dört notunun aritmetik ortalamasını alarak ortalamayı buluyoruz, parantez kullanımına dikkat etmelisiniz. Eğer ortalama hesaplanırken parantez kullanmaz iseniz

$ortalama=$sinav1+$sinav2+$performans1+$performans2/4; gibi bir durum oluşur ve bu kodun yaptığı şey $sinav1,$sinav2,$performans1 değişkenleri ile $performans2 değişkeninin 4’te 1’ini toplamaktır! Dikkat edelim!

$durum değişkenini tanımlıyoruz daha sonra kullanacağız.

İf yapısını incelediğimizde ise önceki örnekteki if.. else den farklı bir yapı kullanılmakta.

İf .. else if … daha farklı bir kullanım şeklidir. Eğer koşul sağlanmaz ise ikinci if o da sağlanmazsa sonra if şeklinde her seferinden kontrol edilir. Belirtilen koşulların hiçbirisinin sağlanmaması durumunda ise en alttaki else bölümüne yazılan kod işletilir. Bu kullanımı örnek olması açısından verdim yoksa bu yazımdansa bir diğer dallanma yapımız olan switch deyimi kullanılır.

Gelelim örnekteki if yapımızı açıklamaya…

Öğrencinin ortalaması 0 – 49,99 puan aralığında ise başarısız olmuştur. Tabi biz herhangi bir programlama dilinde günlük kullanımda olduğu gibi bir sayı aralığı belirtmek için – operatörünü kullanamıyoruz. Programlama dillerinde sayı aralığı belirtmek için >(büyüktür) <(küçüktür) >=(büyük veya eşittir) <=(küçük veya eşittir) gibi operatörleri kullanırız.

Ortalama değişkeninin belirli bir aralıkta olup olmadığını $ortalama>=0 && $ortalama < 50 şeklinde kontrol ederiz. Burada iki koşul yazılmış ve bu koşullar && (and - ve) bağlacı ile bağlanmıştır. Böylece iki koşulunda sağlanması beklenmektedir. Örneğin 40 değeri 0’dan büyük ve 50’den küçüktür yani koşulumuz true (olumlu) sonuç üretir. Bu kontrol ile 0 ile 49,99 aralığındaki tüm sayılar bu aralık kapsamına alınır. Sayı aralığı kontrollerinde sınır değerlere ve operatör kullanımına dikkat edilmelidir çünkü > ile >= arasında ciddi bir fark vardır!

Örneğin ortalamamız 50’den büyük ise ilk if koşulu sağlanmaz bu durumda ikinci if koşulumuz kontrol edilir. Bu kontrol herhangi bir if koşulu sağlanana kadar sürer eğer herhangi bir if koşulu true sonucunu üretmezse en sondaki else bloğu işletilir.

Örneğimizde ortalama 0’dan küçük veya 100’den büyük olması durumunda “Geçersiz puan!” sonucu üretilecektir.

Hiç yorum yok:

Yorum Gönder