Programlamanın temelini oluşturan kontrol yapılarından olan if,else if , switch/case yapılarını görelim. Yazılan hemen hemen her programda bu kontrol yapılarına ihtiyaç durulur. Şartlar ve koşullar sağlandığı sürece devam edeceği için program bu yapılar sıkça kullanılır. İki yapıyı da örnekler eşliğinde beraber inceleyelim. Yapılar birbirlerine çok yakın fakat performans farkları elbette var.
İçerik Haritası
İf / Else Kontrol Yapısı
Bu yapı sayesinde bir durumun true değer döndürüp döndürmediğini kontrol ederiz yani eğer şart sağlanırsa olumlu ise ekrana bir komut verebilir veya ona göre işlem yapabiliriz. Örnek olarak veritabanı bağlantı komutunu baz alabiliriz. Örneğine bir bakalım.
<?php $sayi = 10; if($sayi = 10){ echo "doğru , sayı 10"; } ?>
Gördüğünüz gibi sayı eğer 10’a eşit ise istediğimiz mesajı verdirebiliyoruz. Bir de bunun olumsuz durumu var. İf kelimesi bildiğiniz gibi “eğer” anlamına geliyor. Else bloğu ile de if şartı sağlanmadığında ekrana basacağımız yazı için imkan sağlıyor. Eğer doğruysa bunu yap değilse bunu yap mantığında bakabiliriz. Şimdi if/else birlikte bir örneğe bakalım.
<?php $sayi = 10; if($sayi = 10){ echo "doğru , sayı 10"; }else{ echo "yanlış"; } ?>
Else if Yapısı
Bu yapı aslında diğer else ile hemen hemen aynıdır ama anlamına bakarsak kullanımı biraz mantıklı gelecektir. Anlamı tam olarak “değilse” şeklindedir. Yani bu değilse , bu da değilse… bu şekilde bir sürü ihtimali barındırabilir. Bununda kullanımı basit , bakalım.
<?php $kelime = "selam"; if(Birinci koşul){ echo "1. koşul doğruysa"; }else if (2.koşul){ echo "ikinci koşul doğruysa..."; }else if (3.koşul){ echo "3.koşul doğruysa..."; }else{ echo "diğer koşullar sağlanmazsa burayı yazar"; } ?>
Bu şekilde bir kulanımı vardır. Bunlar biraz basit zaten. Şimdi asıl mevzumuz olan switch/case yapısına geçelim. Bununla daha performanslı bir yapı meydana getirebiliriz. Kullanımına ve örneğine bir bakalım.
Switch / Case Yapısı
<?php error_reporting(0); $sayi = 5; switch($sayi){ case 1: echo "Sayı 1"; break; case 2: echo "Sayı 2"; break; case 3: echo "Sayı 3"; break; case 4: echo "Sayı 4"; break; case 5: echo "Sayı 5"; break; default: echo "bir sayı girmediniz"; // diğer şartlar sağlanmazsa burası çalışsın. } ?>
Burada aslında örneğini ve kullanımını bir arada vermiş oldum. Basit bir kullanımı mevcuttur. Bunu sadece bir sayıyı bulmakla sınırlandırmak yanlış olur. Bununla sayfaya GET değeri ile gelen bir ifadeye göre kullanıcıyı yönlendirebiliriz. Hatta yanlış sayfaya girdiğinde onu istediğimiz sayfaya ya da anasayfaya da yönlendirebiliriz. Kullanımı oldukça yaygındır. Bu yapıdan biraz bahsedecek olursak ;
error_reporting(0) : Sayfa başında saçma sapan hatalar alırsanız kullanabilirsiniz.
switch($sayi) : sayı değişkenini baz alıyoruz.
case : burada örneğin case:1 yazarsak $sayi değişkeninin 1 olduğu ihtimali göz önünde bulundurmuş sayılıyoruz. Ona göre mesajımızı veriyor veya sayfamızı çağırıyoruz.
break : her ihtimalden sonra programı durdurur. Yani eğer sayi 1 ise diğerlerinin çalışmasına zaten gerek yoktur aranan bulunmuştur.
Bunların mantığı da bu şekildeydi. Oldukça basit yapılar ama sonuçta bir dil öğrenilecekse bunları da es geçmemek gerekir. Hemen her dilde bu yapılar mevcuttur.