Kullanılan değişkenin seçmiş olduğunuz değerlere uyup uymadığını kontrol etmek için kullanılan Kontrol deyimidir genel kullanımı aşağıdaki gibidir.
switch ($degisken){ case durum1: // durum1 sağlanırsa çalışacak kodlar break; case durum2: // durum2 sağlanırsa çalışacak kodlar break; default: // hiçbir durum sağlanmazsa çalışacak kodlar }
kullanılan değişkenin alabileceği durum değerlerini istediğiniz kadar çoğaltabilirsiniz. durumların için de kullandığımız break şartın duruma uyması halinde diğer şartların çalıştırılmadan switch-case yapısından çıkmak için kullanılır. Son satırda yer alan default ifadesi ise değişken değeri hiç bir şarta uymuyorsa çalıştırılacak olan komutları yazacağımız bölümdür. Switch-case kullanımı için aşağıdaki örnekleri inceleyebilirsiniz…
Switch Case (1,2,3 sayılarını harflerle gösteren program)
<?php $sayi=3; switch ($sayi) { Case 1: echo "Bir"; Break; Case 2: echo "İki"; Break; Case 3: echo "Üç"; Break; } ?>
Switch… Case (baş harfe göre isim öneren program)
<?php $basharf="m"; $basharf son=strtoupper($basharf); switch ($basharf son) { “ case "A": echo"Ayşe"; break; case "B": echo"Banu"; break; case "C": echo"Canan"; break; case "D": echo"Deniz"; break; case "S": echo"Selin"; break; case "M": echo"Melis"; break; default: echo"Bu harf için isim tanımlanmadı "; } ?>
Kişinin IQ, EQ ve Zekasına Göre Başarısını Tahmin Eden Program
<?php $iq=1; $eq=0; $zeka=$iq+$eq; $calisma=1; $basari=$calisma+$zeka; switch ($basari) { Case 0; echo "başarısız"; Break; Case 1; echo "orta"; Break; Case 2; echo "başarılı"; Break; Case 3; echo "mükemmel"; Break; } ?>
Tanımlı olan işleme göre iki sayıyı işleme alıp sonucu ekrana yazalım.
<?php $islem="*"; $sayi1=16; $sayi2=4; switch ($islem){ case "+": $sonuc=$sayi1+$sayi2; break; case "-": $sonuc=$sayi1-$sayi2; break; case "*": $sonuc=$sayi1*$sayi2; break; default: $sonuc=$sayi1/$sayi2; } echo "Sonuç=$sonuc"; ?>
100 üzerinden tanımlanmış bir notun 5 üzerinden karşılığını ekrana yazdıralım.
<?php $notu=72; switch ($notu){ case 85<=$notu: echo "5-Pekiyi"; break; case 70<=$notu: echo "4-İyi"; break; case 55<=$notu: echo "3-Orta"; break; case 45<=$notu: echo "2-Geçer"; break; case 25<=$notu: echo "1-Zayıf"; break; default: echo "Başarısız"; } ?>