Dallanma Komutları : Switch-case komutu

Php’de program akışını yönlendirmek için kullanılan bir komuttur. Mantık olarak if komutu ile aynı işi yapar yapısı farklıdır. İşin aslı if gibi basit ve sağlam bir yapı varken çok tercih edilen bir komut değildir. En azından ben tercih etmedim şimdiye kadar.

Genelde bir değişkene atanan değeri sınar ve değere göre işlem yaparak gereken komutları çalıştırır. Eğer istenen şart sağlanmış ve çalışması istenen komutların çalışması bitmişse break komutu kullanılarak switch komutu işlemi bitirilir.

switch ( değişken )
{
   case KOŞUL-1 ;
        Koşul-1 doğru ise yapılacak işlere ilişkin komutlar
   break;

   case KOŞUL-2 ;
        Koşul-2 doğru ise yapılacak işlere ilişkin komutlar
   break;

   case KOŞUL-3 ;
        Koşul-3 doğru ise yapılacak işlere ilişkin komutlar
   break;

   case KOŞUL-4 ;
        Koşul-4 doğru ise yapılacak işlere ilişkin komutlar
   break;

......................

......................

   default:
        diğer her durumda yapılacak işlere ilişkin komutlar

}

Gördüğünüz gibi switch komutu tek başına kullanılamıyor. Her şartı sınamak için case ifadesi kullanılıyor. Case ifadesinin görevi if gibi şartları kontrol etmek ama burada == operatörü kullanılmıyor direkt olarak şartın değeri yazılıyor. Bunu şimdi vereceğimiz örnekle pekiştirirsek;

Örnek : 1 ile 7 arasındaki rakamlardan birisi girildiğinde haftanın hangi gününe denk geldiğini bulan bir programı yazalım.

<?
   $rakam = 3;
   switch($rakam)
   {
      case 1 ;
           echo "Pazartesi";
      break;
      case 2 ;
           echo "Salı";
      break;
      case 3 ;
           echo "Çarşamba";
      break;
      case 4 ;
           echo "Perşembe";
      break;
      case 5 ;
           echo "Cuma";
      break;
      case 6 ;
           echo "Cumartesi";
      break;
      case 7 ;
           echo "Pazar";
      break;
      default :
            echo "Geçersiz bir sayı girdiniz."
}
?>

Switch($rakam) satırında case komutlarına gelindiğinde rakam değişkeni içindeki değere bakılacağı anlaşılır ve değer ne ise o case komutunun altındaki komutlar çalıştırılır. Tabi bu belli bir yere kadar sürecektir ki orası da break satırıdır. Komutlar çalıştıktan sonra break komutu görülünce çalışacak komutların bittiği anlaşılır ve switch komutu sonlandırılarak program eğer çalışacak başka komutlar varsa oradan devam eder ama bizim programımızda birşey olmadığı için program sonlanır. Bizim programımızda rakam değişkeni içindeki değer 3 olduğu için ekrana Çarşamba yazacaktır. Default satırı ise eğer 1 ile 7 arasında bir sayı girilmezse case satırlarının hiç birisinde karşılaştırma doğrulanmayacaktır işte o zaman default’a bağlı olan satır yani Geçersiz bir sayı girdiniz yazacaktır.

Bir cevap yazın

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