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.


Murat Uyar 11/01/2021

merhaba. çok faydalı bilgiler teşekkürler. Bana 2 saat arasındaki farkın 2 dakikadan büyükse X sitesine yönlendirme komutu lazım ama yukarıdakileri denedim, saat kurgusu ile beceremedim. saat formatı 20:00:00 şeklinde NAsıl yapabilirim? Kolay gelsin

yönetici 15/01/2021


$x ="20:03:00";
$y ="20:00:00";
$x1 = explode(":",$x);
$y1 = explode(":",$y);

if($x1[1]>$y1[1] and $x1[1]-$y1[1]>2){
	//yönlendirmeyi burda yap
}

Lütfen konu haricinde soru sormayın cevaplanmayacaktır. Yorumunuz onaylandıktan sonra yayınlanacaktır. Lütfen Yukarıda ki mesajları okuyun tekrar aynı soruları sormayın.

6300

KATEGORİ
  • HTML
  • CSS
  • PHP
  • JQUERY
  • PHOTOSHOP
  • JavaScript
  • Web Dünyası
  • Linux
  • MİTHRİL FRAMEWORK
  • Laravel
  • Git
  • React
POPÜLER MAKALE
  • HTML LİNK(Bağlantı)EKLEME - LİNK VERME
  • HTML YAZI VE RESİM ORTALAMA
  • HTML RESME LİNK VERME
  • HTML FORM OLUŞTURMA
  • CSS YATAY MENÜ YAPIMI
  • HTML RESİM EKLEME
  • CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
  • HTML DİV ve SPAN NEDİR?
  • HTML ARKAPLANA MÜZİK EKLEME
  • KALİTE KAYBETMEDEN RESİMLERİ BÜYÜTME
ETİKET
WEBCEBİR © 2013 Tüm hakları saklıdır.