Php Switch Case Yapısının Kullanımı

Php derslerinde temel olarak bazı dersleri es geçtiğimi fark ettiğimde biraz hayal kırıklığına uğradım. Unuttum mu yoksa daha sonra detaylı anlatırım mı dedim bilemedim ama bu durum beni üzdü. Bu ders diğer temel derslere nazaran daha önemlidir.

Switch Case yapısı; Seçilen değişkenin değerinin belirli durumlara uyup uymadığını kontrol eden yapıdır. Değişkenin değeri, belirtilen birçok durumdan hangisine uyuyorsa o durum altındaki komutlar çalışır. Bunu, ben if ile de yapabilirim diye düşünebilirsiniz. Doğru düşünüyorsunuz. switch ile yaptığınız işi if yapısı ile de yapabilirsiniz. Burada switch yapısının avantajı daha düzenli kod yazmamızı sağlamasıdır.

Şimdi if yapısı ile switch yapısını karşılaştırmak için bir örnek hazırlayım ve nasıl işlem yaptığını görelim.

<?php
if ($i == 0) {
echo "i değişkeni 0";
} elseif ($i == 1) {
echo "i değişkeni 1";
} elseif ($i == 2) {
echo "i değişkeni 2";
}

switch ($i) {
case 0:
echo "i değişkeni 0";
break;
case 1:
echo "i değişkeni 1";
break;
case 2:
echo "i değişkeni 2";
break;
}
?>

Yukarıda if ve switch ile hazırlanmış aynı koşulu sağlayan bir yapı bulunmaktadır. Şimdi bir kıyaslama yapacak olursak şunları söylemek gerekir;

+ if yapısında; if/else/else if gibi deyimler kullanılırken, switch yapısında sadece case değeri yazılıyor.
+ if yapısında işlemin bağlayıp bittiğini gösteren değerler {} parantezler iken switch yapısında başlatan case, bitiren break'dir.
+ if yapısında koşul değişkeni olan $i her seferinde yazılırken, switch yapısında bir kez tanımlanıyor.
+ if yapısında süslü parantezler bol bol kullanılırken, switch yapısında sadece yapı sınırını göstermek için kullanılıyor.

Yukarıdaki notlar gözüme çarpanlar sadece. Aslında yaptıkları iş aynı olsa da kullanım yerleri bunları bir birinden ayırmaktadır. Sorgularınızın bol olduğu yerlerde switch yapısını tercih etmeniz daha mantıklı olacaktır. İf deyimi ise birkaç kontrol için kullanılan ideal bir yapıdır.

Switch yapısını daha iyi anlamak için yazılı olarak bir sorgu ile bir yapı oluşturayım ki daha iyi bir gözlem yapmış olun.

<?php
switch ($i) {
case "ibrahim":
echo "i değerinin içeriği ibrahim dir.";
break;
case "cevruk":
echo "i değerinin içeriği cevruk tur.";
break;
case "ankara":
echo "i değerinin içeriği ankara dır.";
break;
}
?>

Böyle daha iyi anlaşılmış olduğunu düşünüyorum. Case değeri koşulun ne olduğunu gösteren deyimdir. Yani case dedikten sonra tırnak işareti içine yazılan yazı koşulun ne olduğunu göstermektedir. Break ise case ile gelen koşulun bittiğini temsil etmektedir.

Ya da şöyle bir örnek yapabiliriz. Ancak bu örneği sadece göstermek için yazıyorum pek kullanılmasını önermiyorum. Mesela tek sayfada bir yığın iş yapmak istiyoruz. O zaman switch yapısını kullanmamız gerekmektedir. Şimdi gel gelelim bunun nasıl yapılacağına;

<?php
switch ($i) {
case "hakkimda":
include ("sayfa/hakkımda.php");
break;
case "iletisim":
include ("sayfa/iletisim.php");
break;
}
?>

Yukarıdaki kodun index.php de yazılı olduğunu var sayarsak ve bu kullanılacak olan sayfaların da sayfa klasöründe yer aldığını düşünürsek örneğimize göre o zaman index.php de iken hakkımda sayfasına gitmek için url yapımızın şöyle olması gerekmektedir;

İndex.php?i=hakkımda

İşte bu kadar. Bu linke tıklatıldığında sayfaya hakkımda.php de yer alan veriler dahil olacaktır. Böylelikle index.php sayfasında iken hakkımda sayfasını sadece o linke tıklatıldı diye çağırmış olacaksınız.

Bu dersimizde bu kadar ;)
- 30.09.2013 / 11:25:45 0

Sosyal Medya Paylaşım Alanı

Bunlarda İlginizi Çekebilir

10:26 Javascript

Javascript Document Nesnesi ve Elemanlara Ulaşma

Kategori: Javascript | 01.05.2014
5:01 Css Dersleri
3:05 Html Dersleri

Msn ile Canlı Destek Hattı Yapma

Kategori: Html Dersleri | 03.05.2013
6:38 jQuery Dersleri

jQuery ile Checkbox Hepsini Seç veya Kaldır Yapma

Kategori: jQuery Dersleri | 03.05.2013
8:26 Php Dersleri

Mysqlde Arama İşlemi (Like)

Kategori: Php Dersleri | 03.05.2013

Hadi Sende Yorum Yap!

Yorum Gönderilmiştir. Onaylandıktan Sonra Mesajınız Yayınlanacaktır.