PHP Koşullu İfadeler (Conditional Statements)

Koşullu ifadeler, farklı koşullara göre farklı eylemler gerçekleştirmek için kullanılır.
Çoğu zaman kod yazarken, farklı koşullar için farklı eylemler gerçekleştirmek isteriz.
if– koşul doğru ise kodları çalıştırır.if...else– bir koşul doğruysa kodu çalıştırır değilse diğer kodları çalıştırır.if...elseif...else– ikiden fazla koşul için farklı kodları çalıştırırswitch– yürütülecek birçok kod bloğundan birini seçer ve çalıştırır
PHP – if ifadesi
if (koşul) {
koşul doğru ise çalışacak kodlar;
}$t = 14;
if ($t < 20) {
echo "İyi günler!";
}PHP – if…else ifadesi
if (koşul) {
koşul sağlanır ise (true) çalışacak kodlar;
} else {
koşul sağlanmaz ise (false) çalışacak kodlar;
}$t = 14;
if ($t < 20) {
echo "İyi günler!";
} else {
echo "İyi akşamlar!";
}PHP – if…elseif…else ifadesi
if (koşul) {
koşul true ise çalışacak kodlar;
} elseif (koşul) {
ilk koşul false ise ve bu koşul true ise çalışacak kodlar.
} else {
tüm koşullar false ise çalışacak kodlar.
}$t = 8;
if ($t < 10) {
echo "Günaydın!";
} elseif ($t < 20) {
echo "İyi günler!";
} else {
echo "İyi Akşamlar!";
}PHP – switch ifadesi
Yürütülecek bir çok kod bloğundan birini seçmek için switch kullanırız.
switch ($n) {
case 1:
$n 1 ise buradaki kodlar çalışır;
break;
case 2:
$n 2 ise buradaki kodlar çalışır;
break;
case 3:
$n 3 ise buradaki kodlar çalışır;
break;
//... case ler çoğaltılabilir.
default:
$n herhangi biri ile eşleşmez ise buradaki kodlar çalışır.
}$favcolor = "lacivert";
switch ($favcolor) {
case "lacivert":
echo "Favori rengim lacivert!";
break;
case "mavi":
echo "Favori rengim mavi!";
break;
case "yeşil":
echo "Favori rengim yeşil!";
break;
default:
echo "Favori rengimi bulamadım!";
}PHP if…else ve switch alternatif kullanımları
if…else ve switch için aşağıdaki alternatif kullanımları da vardır.
$a =5;
// Alternatif if else kullanımı.
if($a == 5):
echo "\$a'nın değeri: 5";
elseif($a == 4):
echo "\$a'nın değeri: 4";
else:
echo "\$a'nın değeri: " . $a;
endif;
// Alternatif switch kullanımı.
switch($a):
case 5:
echo "\$a'nın değeri 5";
break;
case 4:
echo "\$a'nın değeri 4";
break;
default:
echo "\$a'nın değeri: " . $a;
break;
endswitch;örnekteki kullanımda süslü parantezler yerine iki nokta üst üste (:) ve endif; endswitch; yazımlarını kullandık.
Ternary (Üçlü) (?:) Operatör Kullanımı
Tek satırda if ifadesi yazmak için sıklıkla kullanılan bir yazımdır.
KOŞUL ? TRUE İSE ÇALIŞACAK KOD : FALSE İSE ÇALIŞACAK KOD
$a = 5;
echo $a == 5 ? "a nın değeri 5" : "a nın değeri 5 değil"; Null Birleştirme Operatörü (??) (Null coalescing operator)
$var1 ?? $var2; — ilk değer NULL ise ikinci değer kullanılır.
// $ _GET['user'] değeri null ise 'nobody' döndürür
$username = $_GET['user'] ?? 'nobody';
// Kod aşağıdakine eşittir :
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
// Birleştirme zincirlenebilir: ilkini geri getirecek
// $ _GET ['user'] NULL ise $ _POST ['user'] bakar oda NULL ise 'nobody'
$username = $_GET['user'] ?? $_POST['user'] ?? 'nobody';