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';