Phphocasi.com.tr sitemiz üzerinden anlattığımız/yayınladığımız PHP Derslerimizde bu derste İf else if Yapısı ve Birleşik Mantık Operatörleri anlatacağım. Bu dersimizi geçen dersimizin devamı olarak anlatacağım için geçen dersime bakmayanların önce ona bakmasını öneririm. Geçen dersimizde sadece bir koşulu ele almıştık, şimdi işimizi biraz daha ilerletip koşul sayımızı artıracağız.
Örnek vermek gerekirse hava sıcaksa tshirt, hava soğuksa kazak, hava normal ise body giy. Burda 3 durumumuz var bu 3 duruma göre belli işlemler yapacağız bunu if else yapısı kullanarakta yapabiliriz ama if else if yapısı ile daha kolay yapacağız.
İf else if Yapısı Kullanımı
Öncelikle arkadaşlar if else if yapısında yine else kullanabiliyoruz ve if deyimindeki gibi tek satır kod yazacaksak süslü parantez({}) kullanmamıza if else if yapısında da gerek yok.
if($kosul1){ // koşul1 sağlanırsa yapılacaklar }else if($kosul2){ //koşul iki sağlanırsa yapılacaklar. } // buraya istediğimiz kadar else if yazabiliriz // else yazma zorunluluğumuz yok ama yazada biliriz else { // yukarıdaki koşullardan hiçbiri sağlanmıyorsa burdaki işlemleri yap }
Yukarıdaki şekilde if else if yapısını kullanabiliriz. Bir örnek yapacak olursak:
İki sayımız olsun ve 1 durumumuz olsun ve durumlara göre işlemler:
durum=1: İki sayıyı topla.
durum=2: 1.sayıdan 2. sayıyı çıkar.
durum=3: iki sayıyı çarp.
durum=4: 1. sayıyı 2. sayıya böl.
durum=diger: 1,2,3,4 durumunun dışındaki durumlarda ise işlem geçersiz mesajını ekranda göster.
Şimdi örneğimizi koda dökecek olursak:
<?php $durum = 2; // 1,2,3,4 değerini alabilir ama istediğimiz değeri verebiliriz. $sayi1 = 10; $sayi2 = 5; if($durum == 1) { echo "sayi1+sayi2:".($sayi1+$sayi2); } else if($durum == 2) { echo "Sayı1- Sayı2:".($sayi1-$sayi2); } else if($durum == 3) { echo "sayi1*sayi2:".($sayi1*$sayi2); } else if($durum == 4) { echo "sayi1/sayi2:".($sayi1/$sayi2); } else { echo " Girdiğiniz duruma göre bir işlem bulunmuyor."; } ?>
else kısmı yerine else if $durum==5 gibi bir durum yazsaydık 5 dışındaki girdiler için bir çıktı alamayacaktık. Bu yüzden bizim belirlediğimiz durumlar dışındaki kalan tüm durumları ifade etmek için else kullanırız.
Birleşik Mantık Operatörleri
Bir önceki dersimizde basit mantık operatörlerini kullanmıştık. Bu bölümde ise basit mantık operatörlerini AND, OR,NOT gibi mantıksal(logical) işlemler kullanarak birleştirmeyi göreceğiz.
1- And Mantıksal Operatörü
And bizim Türkçe’de kullandığımız “ve” bağlacıyla aynıdır. ve ile bağladığımız iki değerin ikisininde doğru olmasını bekleriz. Php’de de aynı şekilde kullanılır. Mantık tablosunu verecek olursak:
A | B | And İşlemi |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Tabloda da gördüğünüz gibi A ve B koşullarının her ikisinin de true olması durumunda true oluyor Diğer tüm durumlarda false oluyor.
And Birleşik operatörünü php de && işareti veya AND ile gösteririz. Şöyleki: kosul1 && kosul2 veya kosul1 AND kosul2 şeklinde gösterebiliriz.
Örnek verecek olursak:
- A sayısı hem 2 ye hemde 5 e bölünüyorsa A sayısı 10 a da bölünür. Şimdi algoritmamızı kodlayacak olursak:
<?php $a = 20; // a sayımız if( $a%2==0 && $a%5==0 ) { echo "$a Sayısı 10 a bölünür."; } ?>
Örneğimizde $a değişkenimizin 2 ve 5 e göre modunu aldık ve kalan sıfırsa bu sayı 2 ve 5 e tam bölünüyor demektir. Bu yüzden $a saysı 10 da tam bölünür dedik.
2- OR Mantıksal Operatörü
OR mantıksal operatörü de türkçedeki veya kelimesinin karşılığıdır. İki koşuldan en az birinin doğru olması durumunda true değerini verir. Doğruluk tablosuna bakacak olursak:
A | B | OR İşlemi |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Her iki koşulda sıfır ise false değeri döndürür.
Or birleşik mantık operatörü php de || işareti veya or yazarak kullanılır. örn: kosul1 || kosul2 yada kosul1 OR kosul2
Örnek yapacak olursak:
A Sayısı B sayısından büyük yada eşitse ekrana yazı yazdıralım.
<?php $a = 20; // a sayımız $b = 30; // b sayımız if( $a>$b || $a==$b) { echo "$a Sayısı $b sayısından büyük yada eşittir."; } ?>
şeklinde kullanabiliriz.
3 – NOT Mantıksal Operatörü
Not mantıksal operatörü değil anlamına gelir. Doğruluk tablosuna bakacak olursak:
A | A Not İşlemi |
0 | 1 |
1 | 0 |
Basit bir örnek yapacak olursak: $sayi değişkeni tanımlı ve içi boş değilse sayının değerini ekrana yazdıran, diğer durumlarda ise değişken boş veya tanımlı değil yazan bir uygulama yapalım.
$sayi = 6; if(isset($sayi) && !empty($sayi)) echo "$sayi değişkeninin Değeri: $sayi."; else echo "$sayi değişkeni boş veya tanımlı değil";
Yukarıdaki örneğimizde geçen derslerimizde öğrendiğimiz özellikleride kullanarak örneğimizi tamamladık.
if bloğunun içini anlatacak olursak:
AND işleminde her iki koşulunda doğru olması gerekiyordu. isset fonkisyonu ile değişken tanımlı mı değil mi diye baktık. empty ile değişken boş mu kontrolü yapıyorduk ve boş ise 1 döndürüyordu. Biz boşun değilini alırsak dolu olup olmadığına bakarız, bu yüzden !empty() şeklinde kullandık.
Kısa if else Kullanımı
Kısa if yapısı bizim kod okunurluğumuzu yükseltmek ve satır sayısını düşürmek için genel olarak kullandığımız bir yapıdır. Mesela yukarıdaki örneğimiz 5 satır iken bu işlemi tek satırda yapabiliriz.
Php de kısa if kullanım şekli : $degisken = (Kosullar) ? (if bloğu) : (else bloğu);
Kullanım şeklinden şimdilik bir şey anlamayabilirsiniz ama yukarıdaki örneğimizi kısa if ile yapınca anlaşılmış olacaktır.
$sayi = 6; // normal if if(isset($sayi) && !empty($sayi)) echo "$sayi değişkeninin Değeri: $sayi.<br/>"; else echo "$sayi değişkeni boş veya tanımlı değil<br/>"; // kısa if şeklinde kullanımı $yazdir = isset($sayi) && !empty($sayi) ? "$sayi değişkeninin Değeri: $sayi.<br/>" : "$sayi değişkeni boş veya tanımlı değil <br/>"; echo $yazdir; // biraz daha kısaltıp tek satıra düşürelim. echo isset($sayi) && !empty($sayi) ? "$sayi değişkeninin Değeri: $sayi.<br/>" : "$sayi değişkeni boş veya tanımlı değil<br/>";
Koddaki 3 farklı kullanıma bakarsak 1. durumda kod 5 satır iken ikinci durumda kodumuzu 2 satıra, 3. durumda ise tek satıra düşürdük.
Şunu unutmamalıyız ki ne kadar az satırlı temiz bir kod yazarsak o kadar iyi bir yazılımcı olabiliriz.
Php ile if else if else dersimizi burada bitirdik. Bir sonraki dersimiz olan Php de switch case kullanımı dersimizde görüşmek üzere ?
Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı yine konu altından ve Mobilhanem Soru&Cevap bölümünden sorabilirsiniz.
Tüm Php Dersleri için tıklayınız..
36