PHP Koşul İfadeleri

PHP’de koşullu ifadeler, işlemin bir koşula göre yapılıp/yapılmamasını sağlarlar. Bunlar if-else if-elseif ‘dir.

Basit if Kullanımı

Türkçe karşılığı eğerdir.İçerisine bir tane koşul alır. Eğer koşul TRUE ise içerisindeki işlemi yapar. Aşağıda yapısını gösterdim.

<?php
if(KOSUL){
    TRUE OLDUGU DURUMDAKI ISLEM
}
?>

Basit if sadece koşul TRUE ise yani doğruysa içerisindeki işlemi yapar. Eğer yapacağımız işlem tek satır ise yani “;” ile sonlanmamışsa süslü parantezleri kullanmayabiliriz. Süslü parantezler arasına istediğimiz kadar işlem yaptırabiliriz. Sonsuz sayıda iç içe if ifadesi kullanılabilir.

Örnek olarak iki sayıyı karşılaştıralım.

<?php
$sayi = 5;
$sayi2 = 10;
if($sayi > $sayi2)
    echo "1. sayi buyuktur.";
?>

Yukarıda karşılaştırma operatörlerini kullanarak iki sayıyı karşılaştırdık. İki sayının karşılaştırılması bizim koşulumuz, eğer işlem TRUE sonuç döndürürse ekrana “1. sayi buyuktur” yazacaktır. Burada kodu çalıştırdığımızda ekrana hiçbir şey yazmayacaktır. Çünkü koşulumuz FALSE oldu, if’de işlem sadece TRUE olduğu durumda içerisindeki işlem yapılır.

İçe içe if kullanımına örnek olarak verecek olursak 3 sayıyı karşılaştıralım. Bunu basit if ile yapacağız.

<?php
$sayi1 = 2;
$sayi2 = 7;
$sayi3 = 4;
if($sayi1 >= $sayi2){
    if($sayi1 >= $sayi3){
        echo "sayi1 en buyuk";
    }
}
if($sayi2 >= $sayi1){
    if($sayi2 >= $sayi3){
        echo "sayi2 en buyuk";
    }
}
if($sayi3 >= $sayi1){
    if($sayi3 >= $sayi2){
        echo "sayi2 en buyuk";
    }
}
?>

Yukarıdaki kodu çalıştırdığımızda sonuç “sayi2 en buyuk” olacaktır.

if-else Kullanımı

Basit if’de işlem sadece TRUE olduğu zaman içerisinde ki kodu çalıştırır demiştik. Bu kontrol yapısında iki durumu da düşünüyoruz. Hem TRUE olduğu durumu hem de FALSE olduğu durumu. Aşağıda if-else’nin  yapısını gösterdim.

<?php
if(KOSUL){
    TRUE OLDUGU DURUMDAKI ISLEM
}else{
    FALSE OLDUGU DURUMDAKI ISLEM
}
?>

Basit if’de sadece TRUE olduğu duruma göre değerlendiriyorduk. Burada ise hem TRUE hem de FALSE olduğu durumu değerlendiriyoruz. Önce koşula bakar. Eğer koşul TRUE bir sonuç döndürür ise içerisindeki işlemleri yapar. Eğer koşul FALSE bir sonuç döndürürse else ‘nin içerisindeki işlemleri yapar. Basit if’de olduğu gibi yapacağımız işlem tek satır ise süslü parantezleri kullanmak zorunda değiliz.

Yukarıda  yaptığımız örnekleri if-else yapısı ile tekrar yapalım.

<?php
$sayi = 5;
$sayi2 = 10;
if($sayi > $sayi2)
    echo "1. sayi buyuktur";
else
    echo "2. sayi buyuktur";
?>

Yukarıdaki kodda koşula bakılır. Eğer koşul TRUE bir sonuç döndürürse içerisindeki işlem yapılır. Eğer FALSE bir sonuç döndürürse else’nin içerisindeki işlem yapılır. Kodu çalıştırdığımızda “2. sayi buyuktur” yazacaktır. Çünkü koşulumuz FALSE bir sonuç döndürdü.

Sonsuz sayıda iç içe if-else yapısı kullanılabilir.

<?php
$sayi1 = 2;
$sayi2 = 7;
$sayi3 = 4;
if($sayi1 >= $sayi2){
    if($sayi1 >= $sayi3){
        echo "sayi1 en buyuk";
    }
}else{
    if($sayi2 >= $sayi1){
        if($sayi2 >= $sayi3){
            echo "sayi2 en buyuk";
        }
    }else{
        if($sayi3 >= $sayi1){
            if($sayi3 >= $sayi2){
                echo "sayi2 en buyuk";
            }
        } 
    }
}
?>

Yukarıdaki kodda iç içe if yapısı kullandık. Yukarıdaki kodu adım adım incelersek. Önce 1. if’in koşuluna bakar. Eğer TRUE bir sonuç dönerse işlemi yapar. Eğer FALSE bir sonuç döndürürse else kısmına geçer ve oradaki işlemi yapar. else’deki işlem tekrar if-else yapısı aynı şekilde koşula bakar TRUE ise işlemi yapar. FALSE ise else içerisindeki işlemi yapar. Bu böyle böyle devam eder. Önceki basit if yapısına göre kodlar biraz daha anlamlı oldu.

Kısa if-else Kullanımı

Eğer yapacağımız işlemler tek bir satır ise hem TRUE olduğu durum için hemde FALSE olduğu durum için de. Aşağıda kısa if-else’nin yapısını gösterdim.

<?php
KOSUL ? TRUE OLDUGU DURUMDAKI ISLEM : FALSE OLDUGU DURUMDAKI ISLEM;
?>

Örnek olarak iki sayıyı karşılaştıralım.

<?php
$sayi = 5;
$sayi2 = 10;
echo $sayi > $sayi2 ? "1. sayi buyuk" : "2. sayi buyuk";
?>

if-elseif Kullanımı

Bu kontrol yapısının tek farkı else’de koşul belirtiyor olabilmemizdir. Aşağıda yapısını gösterdim. Sonsuz sayıda else-if kullanabiliriz.

<?php
if(1.KOSUL){
    TRUE OLDUGU DURUMDA YAPILACAK ISLEM
}elseif(2.KOSUL){
    1. KOSULUN FALSE, 2. KOSULUN TRUE OLDUGU ZAMAN YAPILACAK ISLEM
}
...
elseif(N. KOSUL){
    N-1. KOSULUN FALSE, N. KOSULUN TRUE OLDUGU ZAMAN YAPILACAK ISLEM
}else{
    TUM KOSULLAR FALSE OLDUGU DURUMDA YAPILACAK ISLEM
}
?>

else-if ‘de 1. koşula bakılır. Eğer 1. koşul TRUE ise içerisindeki işlem yapılır. Eğer 1. koşul FALSE olursa elseif ‘de bulunan koşula bakılır. Eğer o TRUE ise onun içerisindeki işlem yapılır. Eğer o koşul da yani 2. koşulumuzda FALSE olursa, var else-if işlemi yapılır. Eğer yoksa else’deki işlem yapılır.

Örnek olarak 3 sayıyı karşılaştırdığımız örneği mantıksal operatörleri kullanarak tekrar yapalım. Öncelikle bir sayının en büyük olma durumu hem 2. sayıdan büyük olacak hemde 3. sayıdan büyük olacak bu iki durum gerçekleşirse yani TRUE olursa bu sayı en büyük sayı olacak. 2. ve 3. üçüncü sayılar içinde aynısı olacak. 2. sayi için 1. ve 3. sayıdan büyük olacak. 3. sayı içinse 1. ve 2. sayıdan büyük olması gerekecek. Eğer bir sayı 1. ve 2. sayıdan büyük ise onu diğer sayılar ile karşılaştırmamıza gerek yoktur. Zaten o en büyük sayıdır.

<?php
$sayi1 = 7;
$sayi2 = 7;
$sayi3 = 4;
if($sayi1 >= $sayi2 && $sayi1 >= $sayi3)
    echo "1. sayi en buyuk";
elseif($sayi2 >= $sayi1 && $sayi2 >= $sayi3)
    echo "2. sayi en buyuk";
else
    echo "3. sayi en buyuk";
?>

Yukarıdaki kodu bizim basit if ve if-else ile yaptığımız kodun iyi yazılmış hali.

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir