PHP Switch-Case Kullanımı

Last updated on 3 Haziran 2019

Yaptığı iş if-else-if gibidir. Yazım şekli biraz farklıdır. Daha fazla açıklamayı da şu şekilde yapabilirim ;
Belirttiğimiz değişkenin değerini belirli durumlara göre uyup uymadığını kontrol eden kod bloğudur. Belirttiğimiz değişkenin değeri birden fazla duruma uyuyorsa eğer durumun uyduğu bütün kod blokları çalışacaktır. Birden fazla uyum sağlasa bile sadece bir kez çalışmasını istiyorsak eğer “break;” komutu ile durdurabiliriz. if-else de kulladığımız gibi “else” kısmı içinde switch-case fonksiyonunda da “default;” kullanırız.

Bunu if-else-if ile de yapabiliriz tabiki ancak switch-case ile yaptığımızda daha düzenli kod blokları oluşturmuş oluruz.

Şimdi örneklere geçebiliriz.

$a=2;
 
 switch ($a)
{
    case 0: echo "Değer 0'dır."; break;
    case 1: echo "Değer 1'dir."; break;
    case 2: echo "Değer 2'dir."; break;
    case 3: echo "Değer 3'dür."; break;
    default: echo "Değer 0, 1, 2 veya 3 değildir.";
 } 

Yukarıda yapmış olduğumu örneğin aynısı if-else ile yapıyorum bir de;

$a = 2;$a = 2;
if($a == 0)
{
    echo "Değer 0'dır";
}
else if($a == 1)
{
    echo "Değer 1'dir";
}
else if($a == 2)
{
    echo "Değer 2'dir";
}
else if($a == 3)
{
    echo "Değer 3'dür";
}
else
{
    echo "Değer 0, 1, 2 veya 3 Değildir";
} 

Gördüğünüz gibi aynı işlemi iki farklı yolla yapabiliyoruz. switch-case ile daha az kod yazarak daha düzenli bir şekilde yapabiliyoruz.

Bir örnek daha yapalım fakat bu sefer matematiksel bir işlem kullanalım.

 $a=25;
switch ($a % 2)// $a'nın 2'ye bölümünden kalan değeri alacağız.
{ 
    case 0: echo "Değer çifttir."; break;
    default: echo "Değer tektir."; break;
}

100 üzerinden alınmış bir sınav puanının 5’li sisteme göre notunu hesaplayalım.

 $puan=86;
 
switch ($notu){
    case 85>=$puan: echo "5-Pekiyi"; break;
    case 70>=$puan: echo "4-İyi"; break;
    case 55>=$puan: echo "3-Orta"; break;
    case 45>=$puan: echo "2-Geçer"; break;
    case 44<=$puan: echo "1-Zayıf"; break;
    default: echo "Başarısız";
 }
  •  
  •  
  •  
  •  
  •  
  •  
  •  

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir