Php Ders 5 – Koşullar
Programlamada koşullar, belirttiğimiz durumların gerçek (true) olması veya olmaması (false) halinde çalışacak kodları belirlemek için kullanılır.
If/Else/ElseIf
If, parantezin içerisindeki koşul true ise belirtilen işlemi ve eğer gene belirtilirse false olması durumda belirtilen işlemi yapan kurgudur. Kullanımı aşağıdaki gibidir;
if( Koşul ) {
işlem
} elseif ( Başka Bir Koşul) {
işlem
} else {
işlem
}
<?php define("TAM_ISMI_KULLAN", FALSE); $isim = "Erhan"; $soyad = "Kılıç"; if(TAM_ISMI_KULLAN == TRUE){ // (Burada oluşturduğumuz sabitin true'ya eşit olması koşulu belirtmişiz. Eğer bir eşitlik koşulu koymasak bile koşul parantezinin içine koyduğumuz değişken, sabit veya başka bir şeyin true'ya eşit olup olmamasına bakar Php. $tamisim= $isim. " " . $soyad; // Burada ise eğer tam ismi kullan sabitimiz true ise isim ve soyad değişkenlerini birleştirmektedir. } else{ // Else kullanımı zorunlu değildir. $tamisim = $isim; // Eğer true değilse ki değil, sadece isim değişkeni ile tamisim değişkenini oluşturuyoruz. } echo "Herkese Merhaba!!"; echo $isim; ?>
Bazen ise koşulumuzda olumsuz olduğu durumları belirtmek isteyebiliriz. Yukarıdaki örneği geliştirirsek eğer TAM_ISIM_KULLANMA sabiti oluşturup bu sabitin false olduğu durumlarda çalışacak bir kod yazmak isteyebiliriz. O zaman aşağıdaki gibi bir işlem yaparız;
<?php define("TAM_ISMI_KULLANMA", FALSE); $isim = "Erhan"; $soyad = "Kılıç"; if(!TAM_ISMI_KULLANMA){ // (Burada ise başına ! işareti koyarak false olduğu durumu koşul olarak belirtiyoruz. Temelde şu şekilde de yapabilirdik: if(TAM_ISMI_KULLANMA == FALSE). Aslında false eşitliği arasak bile koşul false olduğu için Php bunu true olarak algılayıp gerekli işlemi gerçekleştirmektedir. False olması koşulu koyduk ve false olduğunda koşulumuz true oluyor. $tamisim = $isim; } else{ $tamisim= $isim. " " . $soyad; } echo "Herkese Merhaba!!"; echo $isim; ?>
Switch/Case
Switch/Case ise if‘den farklı olarak belirttiğimiz koşullar listesinden birisi çalışırsa geçerli kodları çalıştıracaktır. Mesela bir değişkenimizin olabileceği koşul durumları 2-3’ten fazla ise, if ile yazmaya kalkışırsak bir çok elseif yazmak zorunda kalırız. Switch/Case ile bir çok koşulu daha rahat oluşturabiliriz.
Kullanım yapısı;
switch (n) { // n burada koşul durumlarının sorgulanacağı şeydir. Herhangi bir şey olabilir.
case label1:
kodlar
break; // break kullanmamızın sebebi eğer koşul doğru olup kodlar çalışsa bile Php diğer koşulların doğru olup olmadığını test etmeye devam etmesinden dolayı çıkış yapmasını sağlamaktır.
case label2:
kodlar
break;
case label3:
kodlar
break;
…
default: // default ise hiç bir koşul gerçekleşmediğinde çalışacak kodları belirlemek için kullanılır. Zorunlu değildir.
kodlar
}
Örnek;
<?php $islem = "toplama"; $a = 1; $b = 10; switch ($islem) { case 'toplama': echo $a + $b; break; case 'bölme': echo $a / $b; break; case 'çarpma': echo $a * $b; break; case 'çıkarma': echo $a - $b; break; } ?>