PHP switch case yapısı: Detaylı kullanımı ve örnekler
PHP dilinde “switch” yapısı, birden fazla koşulun kontrol edilmesini ve bu koşullara göre farklı işlemlerin yapılmasını sağlar. “case” yapısı ise “switch” yapısı içerisinde kullanılan koşulları ifade eder. Örnek olarak, bir kullanıcının girdiği sayının değerine göre farklı işlemler yapmak isteyebiliriz. Bu durumda “switch” yapısını kullanabiliriz.
<?php // Kullanıcının girdiği sayı $sayi = 3; // Switch yapısı switch($sayi){ case 1: echo "Girilen sayı 1'dir."; break; case 2: echo "Girilen sayı 2'dir."; break; case 3: echo "Girilen sayı 3'dür."; break; default: echo "Girilen sayı 1, 2 veya 3 değildir."; } ?>
Bu kod bloğunda, kullanıcının girdiği sayı değişkeni “switch” yapısı içerisinde kontrol edilir. Eğer sayı 1 ise “Girilen sayı 1’dir.” yazdırılır, 2 ise “Girilen sayı 2’dir.” yazdırılır ve 3 ise “Girilen sayı 3’dür.” yazdırılır. Eğer kullanıcının girdiği sayı 1, 2 veya 3 dışında bir değer ise “Girilen sayı 1, 2 veya 3 değildir.” yazdırılır.
“break” komutu “switch” yapısı içerisinde kullanılır ve eşleşen koşul bulunduğunda diğer koşulların kontrolünü durdurur. Bu nedenle eşleşen koşul için yazdırılması istenen işlem yapıldıktan sonra “break” komutu ile diğer koşulların kontrolü durdurulur. “default” komutu ise eşleşen hiçbir koşul bulunamadığı durumlar için kullanılır.
Bu örnekte olduğu gibi “switch” yapısı ile birden fazla koşulun kontrol edilmesi ve bu koşullara göre farklı işlemlerin yapılması mümkündür. Bu yapı, if-else yapısına göre daha okunaklı ve anlaşılır olabilir. Özellikle birden fazla koşulun kontrol edilmesi gerektiğinde “switch” yapısı kullanmak daha uygun olabilir.
Ayrıca “switch” yapısı, sadece sayısal veya metinsel değerlerle sınırlı değildir. Örneğin bir nesnenin türüne göre farklı işlemler yapmak isteyebiliriz. Bu durumda nesnenin türünü “switch” yapısı içerisinde kontrol edebiliriz.
<?php class Araba { public $marka; } $araba = new Araba(); $araba->marka = "Mercedes"; switch(get_class($araba)){ case "Araba": echo "Bu bir araba nesnesidir."; break; case "Otomobil": echo "Bu bir otomobil nesnesidir."; break; default: echo "Bu nesnenin türü belirlenemiyor."; } ?>
Bu kod bloğunda, oluşturulan araba nesnesinin sınıfı “get_class()” fonksiyonu ile alınır ve “switch” yapısı içerisinde kontrol edilir. Eğer sınıfı “Araba” ise “Bu bir araba nesnesidir.” yazdırılır. Eğer sınıfı “Otomobil” ise “Bu bir otomobil nesnesidir.” yazdırılır. Diğer herhangi bir sınıf ise “Bu nesnenin türü belirlenemiyor.” yazdırılır.
Sonuç olarak, “switch” yapısı PHP dilinde birden fazla koşulun kontrol edilmesi ve bu koşullara göre farklı işlemlerin yapılmasını sağlar. “case” yapısı ise “switch” yapısı içerisinde kullanılan koşulları ifade eder. Bu yapının kullanımı, if-else yapısına göre daha okunaklı ve anlaşılır olabilir. Ayrıca sadece sayısal veya metinsel değerlerle sınırlı değildir, nesnelerin türü gibi farklı değerlerle de kontrol edebilir.