
İçerikler
PHP’de alternatif kullanımlarda mevcuttur. Bu alternatif işlemler if/else/else if koşulları içinde geçerlidir. PHP alternatif if/else/else if işlemleri iki farklı şekilde kullanılmaktadır. Bu durumları detaylı bir şekilde inceleyelim.
Ternary Operator
Ternary operator, sadece if ve else durumları için kullanılabilir. Else if durumlarını kapsamaz. Tabi bu şart bizi durdurabilir mi? Hayır! Bu durumunda önüne geçerek Else if kullanımınıda dahil edebiliyoruz.
İlk olarak if ve else kısmı için bir örnek oluşturalım. Yapının basit anlamda kullanımı aşağıdaki gibidir.
$condition ? $value_if_true : $value_if_false;
Burada, $condition
ifadesi koşulu temsil eder. Eğer bu koşul doğruysa, $value_if_true
değeri döndürülür. Eğer koşul yanlışsa, $value_if_false
değeri döndürülür.
$x = 10; $y = 20; // Normal if/else kullanımı if ($x > $y) { $result = "x, y'den büyüktür"; } else { $result = "y, x'den büyüktür"; } // Alternatif kullanımı $result = ($x > $y) ? "x, y'den büyüktür" : "y, x'den büyüktür";
Örnekte, normal if/else yapısını görüyoruz. Bu kontrol ifadesini alternatif kullanımla birlikte daha kısa hale getiriyoruz. Ternary operatörü kullanarak normal if/else yapısını daha kısa ve okunaklı hale gelmiş oldu.
Null Coalescing Operator
Hem if/else hem de else if durumları için kullanılmaktadır. Bu yapıda, belirli bir değişkenin null ya da boş olması durumunda varsayılan bir değer atanır. Yapının basit anlamda kullanımı aşağıdaki gibidir.
$variable ?? $default_value;
Bu kullamına da bir örnekle inceleyelim. Örnek doğrultusunda, if / else / else if şartlarını oluşturmuş olalım.
$age = 25; // Normal if / else if / else kullanımı if ($age < 18) { $result = "Yaşınız 18'den küçük."; } elseif ($age >= 18 && $age <= 30) { $result = "Yaşınız 18-30 aralığındadır."; } else { $result = "Yaşınız 30'dan büyüktür."; } // Alternatif null coalescing operator kullanımı $result = ($age < 18) ?? "Yaşınız 18'den küçük." : (($age >= 18 && $age <= 30) ?? "Yaşınız 18-30 aralığındadır." : "Yaşınız 30'dan büyüktür.");
Bu örnekte, null coalescing operatörünü ternary operatörle birleştirerek alternatif bir if / else / else if yapısı oluşturduk.
Süslü Parantezler Olmadan Kullanım
Bildiğiniz gibi standart if / else / else if kullanımı süslü parantezler içerisinde gerçekleşmektedir. Yine bu yapıyı kullanacağız fakat süslü parantezler yerine alternatif ekleyerek gerçekleştireceğiz. Bu kullanımda alternatif if/else/else if yapısı denilmektedir.
$a = 10; if($a > 20){ echo "a, 20'den büyüktür"; }elseif($a > 15){ echo "a, 15'ten büyüktür"; }else{ echo "a, 15'ten küçüktür"; }
Yukarıdaki kod örneğinde, ilk “if” ifadesi doğru olmadığı için “elseif” ifadesi kontrol edilmektedir. Çünkü “a” değişkeninin değeri 10’dur ve bu değer 20’den küçüktür, fakat 15’ten büyüktür. Bu durumda, “elseif” bloğu çalışır.
“endif” ifadesi ise, bir “if” ifadesinin sonlandırılmasını sağlar. “if” ifadesi ve “elseif” ifadeleri kullanıldıktan sonra, son olarak “endif” ifadesi kullanılarak koşul ifadesini kapatıyoruz. Örnek olarak:
$a = 10; if($a > 20): echo "a, 20'den büyüktür"; elseif($a > 15): echo "a, 15'ten büyüktür"; else: echo "a, 15'ten küçüktür"; endif;
Yukarıdaki kod örneğinde, “if” ifadesi ve “elseif” ifadeleri “:” işareti ile açılırken, “endif” ifadesi ise “;” işareti ile kaptılmaktadır. Bu şekilde kod daha okunaklı hale gelmiş oluyor. Böylece PHP alternatif if/else/else if yapısını derinlemesine incelemiş oluyoruz.