PHP – switch

switch-casePHP’de program akışını yönlendirmekte kullandığımız bir diğer unsur, switch deyimidir. Adı anahtar anlamına gelen 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:
Switch deyimi

PHP’de program akışını yönlendirmekte kullandığımız bir diğer unsur, switch deyimidir. Adı anahtar anlamına gelen 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:

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

}

switch deyimini yazarken mutlaka break ifadesini kullanmamız gerekmez; switch deyiminin akışı break ile kesilmemişse, program ilk şart yerine gelmiş olsa bile diğer şartları da sınamaya devam eder ve en sondaki default deyimine ulaşarak (default’tan sonra noktalı virgül değil iki nokta üstüste işareti olduğuna dikkat edin), bu bölümdeki komutları icra eder. Ne var ki programcılık mantığına aykırı olabilir: bir değişkenin içeriği verdiğimiz şartlardan birini tutmuşsa, muhtemelen diğer şartları yerine getirmeyecek demektir. Bu durumda diğer koşulların sınanması gereksiz e default işlerin icra edilmesi ise hata olur. Bu deyimi de bir örnekle görelim:

switch ( $sarki ) {

case “Güneş Doğacak” ;

echo (“Seçtiğiniz şarkının adı: Güneş Doğacak
“) ;

break;

case “Derdime Derman” ;

echo (“Seçtiğiniz şarkının adı: Derdime Derman
“) ;

break;

case “Haberi Yok” ;

echo (“Seçtiğiniz şarkının adı: Haberi Yok
“) ;

break;

case “Sonsuza kadar” ;

echo (“Seçtiğiniz şarkının adı: Sonsuza kadar
“) ;

break;

default:

echo (“Seçtiğiniz şarkının adı bilinmiyor
“) ;

}

Programımız, bu kodu icra ederken,, $sarki adlı değişkenin değerini, buradaki dört isimle karşılaştıracaktır. Şarkının adı, “Güneş Doğacak” ise ilk durum gerçekleşmiş olacak; program Browser pencerisine şarkının adını yazacak (ve muhtemelen bu sözlerini görüntüleyecek!) ve ikinci adıma break ifadesine geçecektir. break, switch deyiminin sona ermesini sağlar; PHP yoluna, switch deyiminin kapanan süslü parantezinden sonra devam eder. Bu örnekte break ifadesi kullanılmamış olsaydı, PHP, diğer şartları da sınacak ve boşun azaman kaybedecekti; daha da garibi, en sondaki default komutu da icra edileceği için programımız Browser pencerisine hem seçilen şarkının adını, hem de “Seçtiğiniz şarkının adı bilinmiyor” yazacaktı. Bunu gözönünde tutarak, switch deyimini daima break ile birlikte yazmamız gerekir.

6 thoughts on “PHP – switch

  • sağolun işime yarıyor çalışıyorum burdan
    tekrar geçiyorum daha doğrusu
    yalnız verdiğiniz bilgilerde çok eksiklik var
    yani yeni başlayanlar ordaki bir çok satırı neden koyduğunuzu bilmiyorlar ve sizde açıklamıyorsunuz
    ayrıca bu switch sayfası içinde ve diğer birçok sayfa içinde görmüş olduğum aynı cümlelerin tekrarlanması olayı blog un baştan savma hazırlandığını düşündürdü
    iyi çalışmalar..

  • eleştirilerin için saol ozan, php derslerini çok eskiden w3schools kaynağından tercüme etmiştim. üzerinden tekrar geçme fırsatı bulamıyorum. en azından başlangıç için fikir veriyor ziyaretçilere.

    bundan sonraki kısa uygulama ve scriptler daha faydalı olacaktır ümit ediyorum.

  • Geri bildirim: » PHP Dersleri
  • Bir kaç örnek te ben ekleyeyim.

    —-
    switch ($d) {
    case ‘1’:
    case ‘2’:
    case ‘3’:
    // eğer ki $d 1,2 veya 3 ise burası çalışır
    break;
    default:
    // değilse burası
    break;
    }
    —-

    bazı zamanlar ise switch: endswitch; kullanmak mantıklı olabiliyor.

  • ben katılmıyorum giriş seviyesinde bir programcının rahatça anlayacağı kodlar. Çok ayrıntıya giripte yeni başlayanları unutmicaz deyip bizi burda sıkmanın pek anlamı yok. Zaten mesele mantığı. Ben kimsenin oturup script yazacağını sanmıyorum önemli olan editleyebilme.

  • Yeni başlayanlar ın en çok gözünü korkutan ayrıntılar ve bu da gözlerini korkutuyor. Bu anlatım çok yalın ve sade elinize sağlık

Bir Cevap Yazın

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