PHP SWİTCH CASE KULLANIMI

switch deyimi, verilen bir değişkenin değerinin sıraladığımız koşullardan hangisine uygun olduğunu sınar ve o koşula ilişkin komutları icra eder. PHP'nin yaptığı işi bitirdikten sonra switch deyiminin dışına çıkmasını sağlayan, break komutu vardır.

Şimdi şöyle birşey düşünüyor olabilirsiniz switch ile yaptığınız işi if yapısı ile de yapabilirim diyorsunuz, doğru düşünüyorsunuz fakat; Burada switch yapısının avantajı daha düzenli kod yazmamızı ve ölçülen performans (hızı) if...Elseif yapısına göre hızlı çalışmasıdır. Kullanımı şu şekildedir.

<?php
switch ( değişken ) {

case KOŞUL-1 :

echo "Koşul-1 doğru ise yapılacak işlere ilişkin komutlar";

break;

case KOŞUL-2 :

echo "Koşul-2 doğru ise yapılacak işlere ilişkin komutlar";

break;

case KOŞUL-3 :

echo "Koşul-3 doğru ise yapılacak işlere ilişkin komutlar";

break;

case KOŞUL-4 :

echo "Koşul-4 doğru ise yapılacak işlere ilişkin komutlar";

break;

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

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

default:

echo "diğer her durumda yapılacak işlere ilişkin komutlar";
?>
}

Seçilen değişkenin değeri hangi duruma uyarsa o durum altındaki komutlar çalışır. break ifadesi, durum sağlanırsa başka durumlara bakılmasını engellemek için kullanılır. Eğer break kullanmazsanız durumlardan biri sağlandığında, ondan sonraki tüm durumlar da çalıştırılır.

Switch case yapısı ile bir örnek yapalım:

ÖRNEK:

<?php
$sayi=1;
 
switch ($sayi){

   case 0: echo "Sayı 0'dır."; break;
   
   case 1: echo "Sayı 1'dir."; break;//Ekran çıktısı
   
   case 2: echo "Sayı 2'dir."; break;
   
   case 3: echo "Sayı 3'dir."; break;
   
   default: echo "Sayı belli değildir.";
}
?>

Burada $sayi değişkeninin değerlerine bakıyoruz. Değeri 1 olduğundan ekrana Sayı 1'dir; yazacaktır. Bir de bu yapıyı if...elseif yapısı ile yapalım:

ÖRNEK:

<?php
$sayi=1;
 
if($sayi==0)

   echo "Sayı 0'dır.";
   
elseif($sayi==1)

   echo "Sayı 1'dir.";  //Ekran çıktısı
   
elseif($sayi==2)

   echo "Sayı 2'dir.";
   
elseif($sayi==3)

   echo "Sayı 3'dir.";   
   
else

   echo "Sayı belli değildir.";
?>

Görüldüğü üzere aynı işlemi rahatlıkla if...elseif ile de yapabilirsiniz. Tercih sizindir. Hızlı çalışması bakımdan büyük sistemlerde switch özelliğini mutlaka kullanın.

Şimdi basit bir hesap makinası programı yapalım:

<?php

$islem="*";
$i1=10;
$i2=7;
 
switch ($islem){

   case "+": $sonuc=$i1 + $i2; break;
   
   case "-": $sonuc=$i1 - $i2; break;
   
   case "*": $sonuc=$i1 * $i2; break;
   
   default: $sonuc=$i1 / $i2;
}
 
echo "Sonuç=$sonuc";  //ekran çıktı sonuç=70
?>

100 üzerinden alınan notun Harf not karşılığını yazalım:

<?php
$notu=68;
 
switch ($notu){

   case 90<=$notu: 
   
   echo "AA - aldınız"; break;
   
   case 70<=$notu: 
   
   echo "CC - aldınız"; break;
   
   case 65<=$notu: 
   
   echo "DC - aldınız"; break;  //Ekran çıktısı
   
   case 50<=$notu:

   echo "DF - aldınız"; break;
   
   case 10<=$notu:

   echo "FF - aldınız"; break;
   
   default: echo "Başarısız";
}

?>

string ifadeli örnek yapalım:

<?php

$meyve="Şeftali";
 
switch ($meyve){

   case "Kiraz": 
   
   echo "Yaz meyvesi"; break;
   
   case "Mandalin": 
   
   echo "Kış meyvesi"; break;
   
   case "Erik": 
   
   echo "Bahar meyvesi"; break;
   
   case "Şeftali":

   echo "Yaz meyvesi"; break;//Ekran çıktısı
   
   
   default: echo "Herhangi bir mevsimin meyvesi";
}
?>

Bu kez değişik bir örnek yapalım:

<?php

$meyve="Mandalin";
 
switch ($meyve){

   case "Kiraz": 
   
   case "Karpuz":
   
   case "Şeftali":
   
   echo "Yaz meyvesi"; break;
   
   case "Mandalin": 
   
   case "Portakal":
   
   case "greyfurt":
   
   echo "Kış meyvesi"; break;  // Ekran çıktısı
   
   case "Erik": 
   
   echo "İlkbahar meyvesi"; break;
 ?>

Yukarıda ki örneği açıklamaya çalışalım. Bir durumdan sonra komut yazmak zorunda değilsiniz. Bu, sonraki duruma geçmek için kullanılır. Yaz meyvelerinden Kiraz , Karpuz olması fark etmiyor. Eğer bu durumlardan birine girilirse break olmadığı için şeftali meyvesine kadar gidilir ve ekrana yaz meyvesini yazar. Sonra break ile Kış meyvelerine geçişi engellenir.

Aynı mantıkla Mandalin , Portakal için break kullanılmayarak greyfurt meyvesine gidiliyor ve ekrana kış meyvesi yazılır. Break komutu ile çıkılır.

Lütfen konu haricinde soru sormayın cevaplanmayacaktır. Yorumunuz onaylandıktan sonra yayınlacaktır.

8046

KATEGORİ
  • HTML
  • CSS
  • PHP
  • JQUERY
  • PHOTOSHOP
  • JavaScript
  • Web Dünyası
  • Linux
POPÜLER MAKALE
  • HTML RESME LİNK VERME
  • HTML LİNK(Bağlantı)EKLEME - LİNK VERME
  • HTML YAZI VE RESİM ORTALAMA
  • HTML DİV ve SPAN NEDİR?
  • HTML FORM OLUŞTURMA
  • HTML KAYAN RESİM VE Marguee KULLANIMI
  • HTML ARKAPLANA MÜZİK EKLEME
  • CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
  • HTML RESİM EKLEME
  • PHP ceil()-floor()-round() YUVARLAMA FONKSİYONU
ETİKET
WEBCEBİR © 2013 Tüm hakları saklıdır.