PHP Koşul İfadeleri

İf ifadeleri

PHP’de if ile kodlarımıza kararlar verdirtebiliriz. Türkçe anlamı eğer olan if ifadesi için bir koşula ihtiyacımız ve koşul sonucunda yapmasını istediğimiz koda ihtiyacımız var.


if( koşul ) {
// koşul olumlu ise çalışacak kodlar
}

Hemen bir örnek ile açıklayıp gösterelim:

$a = 30;
if($a > 10) {
   echo 'a değişkeni 10 dan büyüktür';
}

İlk olarak $a değişkenine 30 değerini verdik sonrasında if ile “eğer $a değişkeni 10 dan büyükse aşağıdaki kodları çalıştır” dedik. Yani bu durumda ekranda “a değişkeni 10 dan büyüktür” yazacaktır. Eğer $a değişkenine 5 değerini verseydik ekranda hiçbir şey yazmazdı.

If birden fazla koşul uygulama
Mantıksal operatörler ile if’in içerisine birden fazla karşılaştırma gerçekleştirebiliriz. Mantıksal operatörlerde verdiğimiz bu örneği de hemen if’i kullanarak gösterelim.

$a = 10;
  
if($a > 0 && $a < 100) {
   echo 'a değişkeni 0-100 arasında';
}

Burada eğer $a değişkeni 0 dan büyük ve $a değişkeni 100 den küçük ise aşağıdaki kodları çalıştır dedik. Ve $a değişkeni değerine 10 verdiğimiz için ekranda a değişkeni 0-100 arasında yazacaktır.

Eğer koşullar gerçekleşmiyorsa echo ile yazdırdığımız alan çalışmayacaktır.

Else ifadeleri

Else’nin Türkçe anlamı değilsedir. Yani if koşullar olumlu olduğunda { … } parantez içerisindeki kodları çalıştırırken else’yi kullanarak eğer koşullar gerçekleşmediyse de bir başka kod bloğunu çalıştırabiliriz.

Yukarıdaki örneğimizin üzerinde uygulayarak gösterelim:


$a = 200;

if($a > 0 && $a < 100) {
echo 'a değişkeni 0-100 arasında';
} else {
echo 'a değişkeni 0-100 arasında DEĞİL';
}

Burada eğer koşullar doğru değilse a değişkeni 0-100 arasında DEĞİL yaz dedik. Ve bu seferde $a değişkenine 200 değerini verdiğimiz için ekranda “a değişkeni 0-100 arasında DEĞİL” yazacaktır.

Hem if hem de else olayına bir örnek daha gösterelim. Ehliyet almak için 18 yaşını doldurmuş olmak gerekiyor. Şimdi if ve else kullanarak bu durumu ifade edelim:


$yil = 2017;
$dogum_yili = 2000;
$yas = $yil - $dogum_yili;

if($yas >= 18) {
echo 'Ehliyet alabilirsin';
} else {
$kalan_yil = 18 - $yas;
echo 'Ehliyet almak için ' . $kalan_yil . ' yıla daha ihtiyacın var.';
}

Yukarıda hem yaş hesaplama hem de if ile bir ehliyet alabilirlik testi yaptık. Eğer yaşımız 18 den büyük ya da eşit ise ekranda Ehliyet alabilirsin yazacaktır. Eğer 18 den küçük ya da eşit değilse yaştan 18’i çıkartıp 18 olmasına kalan yılı bularak ekrana ehliyet almak için kaç yıla ihtiyacımız olacağını yazacaktır.

Elseif ifadeleri

Else değilse demekti if ise eğer demekti, elseif ise “değilse eğer” demektir.. Bu ifade ile bir koşul uymuyorsa hemen ardından başka bir koşul deneyebiliyoruz. Mesela elseif ile bir not değerlendirmesi yapalım. Notumuz eğer 90 ve üzeri ise AA, 80 ve üzeri ise BA, 70 ve üzeri ise BB, 60 ve üzeri ise CB, 50 ve üzeri ise CC, 40 ve üzeri ise DC, 30 ve üzeri ise DD, 30 dan düşük ise FF yazdıralım.


$not = 90;

if($not >= 90) {
echo 'AA';
} elseif($not >= 80) {
echo 'BA';
} elseif($not >= 70) {
echo 'BB';
} elseif($not >= 60) {
echo 'CB';
} elseif($not >= 50) {
echo 'CC';
} elseif($not >= 40){
echo 'DC';
} elseif($not >= 30){
echo 'DD';
} elseif($not < 30){
echo 'FF';
}

Ekranda AA yazar.

Switch ifadesi

Sadece bir veya birden fazla eşitliği kontrol etmek istediğiniz durumlarda kullanılabilecek bir ifadedir. Switch ile yapılacak işlemin aynısı else if ile de yapabilirsiniz, fakat eğer sadece bir veya daha fazla eşitliğin karşılaştırılması üzerine bir ifade kullanılmak isteniyorsa bu işlem için switch daha uygundur.


// if ile yapmak istediğimizde:
if($meyve == 'karpuz') {
echo 'karpuz seçildi';
} else if($meyve == 'çilek') {
echo 'çilek seçildi';
} else if($meyve == 'armut') {
echo 'armut seçildi';
}

// aynısı switch ile yapalım:
switch($meyve) { // karşılaştırılacak değişkeni ifade ediyoruz
case 'karpuz': // eğer karpuz'a eşitse
echo 'karpuz seçildi';
break; // eğer bu seçenek eşleştiyse karşılaştırmaya devam etme
case 'çilek':
echo 'çilek seçildi';
break;
case 'armut':
echo 'armut seçildi';
break;
}

Bu tip durumlarda switch kullanmak if kullanmaktan daha performanslı ve kısa oluyor.

Alt alta case ifadesini kullanarak birden fazla değer karşılaştırması yapabilirsiniz.


switch($meyve) {
case 'kiraz':
case 'çilek':
case 'karpuz':
echo 'kırmızı renkli meyve';
break;
case 'armut':
echo 'sarı renkli meyve';
break;
}

Eğer switch içerisinde ifade edilen hiç bir değerde eşleşmediğinde yapmak istediğiniz bir şey varsa da bunu “default” ile ifade ediyoruz;


switch($meyve) {
case 'muz':
echo 'muz var!';
break;
case 'karpuz':
echo 'karpuz var!';
break;
default:
echo 'bu meyveden yok!';
break;
}