2492

Php ile Sıfırdan İleri Seviye Web Programlama Kursu

Php Switch

Php switch komutuyla if/else komutunda olduğu gibi belli koşula göre farklı kod bloklarını çalıştırabiliriz.

switch (x) {
  case durum1:
    // x = durum1 olduğunda çalıştırılır. 
    break;
  case durum2:
    // x = durum2 olduğunda çalıştırılır. 
    break;
  case durum3:
    // x = durum3 olduğunda çalıştırılır. 
    break;
    ...
  default:
    x != durum1, durum2, durum3 olmadığı durumda çalıştırılır.
}

switch komutuna içeriğini kontrol etmek istediğimiz değişkeni yazıyoruz ve kontrol ettiğimiz değişken içeriğinin alabileceği her farklı değeri case ile belirtiyoruz.

her hangi bir blokta eşitlik sağlandığında sonraki blokların kontrolünü es geçmek için break komutunu kullanarak direk switch bloğu dışına çıkabiliriz.

default komutu ile kontrol ettiğimiz değişken içeriğinin eşitliği hiç bir case bloğunda karşılanmıyorsa default bloğundaki kodlar işletilir.

Örnek:

$kategori = 'beyaz eşya';

switch($kategori){
  case 'telefon':
      echo 'telefon kategorisi';
      break;

  case 'bilgisayar':
      echo 'bilgisayar kategorisi'
      break;   

  default:
     echo 'yanlış kategori';
}

Kategori değişken içeriğinin alabileceği farklı kategori değerlerine göre ekrana mesaj yazıyoruz. Eğer ki; kategori değişkeni telefon ya da bilgisayar değilse bu durumda ekrana yanlış kategori yazacaktır. 

break komutlarını her case bloğuna ekleyerek çalıştırılan bir bloktan sonra switch bloğu sonundan devam etmemiz sağlanır.

Örnek:

<?php
$yas = 19;
$ad ='Ahmet';

switch(true){
    case $yas >=0 and $yas <=12:
       echo $ad.' bir çocuk';
       break;
    case (yas >=13 && yas<=19):
       echo $ad.' bir genç';
       break;
    default:
       echo $ad.' bir yetişkin';
}

?>

case bloklarından hangisi switch bloğunda yazan değere yani boolean true bilgisine eşitse o case bloğu kapsamındaki kodlar işletilir ve ekrana 3 farklı mesajdan sadece biri yazar. 

Eğer kullanıcının yaşı 0-12 arasındaysa ekrana "Ahmet bir çocuk",

eğer kullanıcı yaşı 13-19 arasındaysa ekrana "Ahmet bir genç",

bu yaş aralıklarında değilse ekrana "Ahmet bir yetişkin", yazacaktır.