PHP'de If-Else İfadesi
PHP'de if-else ifadesi, koşula bağlı işlemler için kullanılır. Bir koşul true değeri döndürüyorsa if
ya da else if
bloğu çalışır. Eğer if
ve else if
koşulları yerine gelmiyorsa ve tanımlanmışsa else
bloğu çalışır.
İngilizcede if eğer anlamına gelmektedir, yani bu ifadeyi türkçeleştirecek olursak $x
değişkeninin değeri eğer 5'e eşitse şu kod bloğunu çalıştır, 5'ten büyükse şu kod bloğunu, eğer bu koşulların hiçbirisine uymuyorsada else
bloğunu çalıştır. Şimdi bu türkçe örneğimizi kod yazarak anlamaya çalışalım.
<?php
$x = 5;
if ($x == 5){
echo 'x değeri 5tir';
} else if ($x > 5){
echo 'x değeri 5ten büyüktür';
} else {
echo 'x değeri = ' . $x;
}
?>
Bu mantıkta ilk if
bloğu çalışacaktır. Çünkü $x
değeri 5'e eşittir. Ancak $x
değeri 6 olsaydı, ilk olarak if
içindeki koşula bakılacaktı, false döndüğü için bu sefer else if
bloğuna bakılacaktı. Eğer uyuyorsa bu bloktaki kodlar, uymuyorsa ve eğer tanımlanmışsa bir diğer else if
bloğundaki koşula bakılacaktı. Hiçbirisi uymuyorsa ve tanımlanmışsa else
bloğunun içindeki kodlar yorumlanacaktı.
Yani if-else blokları tamamen koşulun true olup olmadığına göre kod parçacıkları çalıştırmamızı sağlayan kontrol yapılarıdır. Koşula ilk hangi blok uyarsa, ondan sonraki bloklar dikkate alınmaz ve içindeki kodlar yorumlanmaz. Aynı anda koşula uyan birden fazla ifade varsa bile, ilk uyanın içindeki kodlar yorumlanır.
Bir önceki dersimizde gördüğümüz operatörler, işlemin sonucunda true
ve false
döndürüyorlardı. Artık if-else
kontrol yapıları ile, dönen sonuçlara göre işlem yaptırarak istediğimiz kod bloklarını kolayca çalıştırabiliriz.
Kaç tane koşulunuzun olduğunun bir önemi yok, ilk koşul her zaman if
bloğunda belirtilir, diğer tüm koşullar için else if
bloklarını kullanırız. Ve koşulların hiçbirinin uymaması halinde işlem yaptırmak istiyorsak else
bloğunu kullanırız. Yani else
bloğu zorunlu değildir.
Alternatif Sözdizimi
if-else
bloğunu parantezlerle kullanabildiğimiz gibi, farklı bir yöntemlede kullanmamız mümkündür. Örnek vermek gerekirse;
<?php
if (KOŞUL):
endif;
// ya da
if (KOŞUL):
// işlem
else if (KOŞUL):
// işlem
else if (KOŞUL):
// işlem
else:
// işlem
endif;
?>
Birde çalışan bir örneğini yapalım.
<?php
$x = 4;
if ($x == 5):
echo 'x 5e eşittir';
else if ($x > 5):
echo 'x 5ten büyüktür';
else:
echo 'x değeri = ' . $x;
endif;
?>
HTML içinde Kullanımı
Ayrıca, PHP açma ve kapama etiketlerini kullanarakta HTML içerisinde koşullu ifadeleri şu şekilde kullanabiliriz;
<?php if ($x == 5): ?>
<strong>$x değeri 5'e eşittir.</strong>
<?php elseif ($x > 5): ?>
<p>$x değeri 5'ten büyüktür</p>
<?php else: ?>
<div style="background: red">$x değeri = <?=$x?></div>
<?php endif; ?>