PHP Dersleri, MySQL ve Açık Kaynak


« Switch Kontrolü

Switch kontrol yapısı Türkçe anlamıyla bir komutu çalıştırmak için kullanılır ve değiştir anlamına gelir. Genellikle if kontrolünün devamı olan elseif komutunu azaltmak için tercih edilir.


Örnek:

index.php dosyamızı oluşturup içine aşağıdaki kodları yazalım.

<form action="sayfa.php" method="POST">

Mevsim Adı Giriniz : <input type="text" name="mevsim"><br>

<input type="submit" value="Gönder">

</form>

sayfa.php dosyamızı oluşturup aşadağıki kodları yazalım.

<?php

$mevsim = $_POST["mevsim"];

Switch($mevsim){

case "Yaz";

echo "Çok Sıcak Bir Mevsimdir";

break;

case "Kış";

echo "Çok Soğuk Bir Mevsimdir";

break;

case "Sonbahar";

echo "Yağmurlu ve Yaprakların Döküldüğü Bir Mevsimdir";

break;

case "İlkbahar";

echo "Ilık Bir Mevsimdir";

break;

default;

echo "Mevsim adını doğru yazdığınızdan emin olun";

break;

}

?>

Form kutusuna hangi mevsimi yazarsak onunla ilgili bilgi gelecek. Eğer hiçbirşey yazmassak en sonda default olarak belirttiğimiz yazı gelecektir.
Default ; if kontrolündeki else komutu gibidir. Diğer her durumlarda default olarak verdiğimiz komut çalışacaktır. Case ise if yapısı gibi eğer çalıştırılacak komut örnekte verdiğimiz yaz mevsimi ise onunla ile ilgili bilgi verilecektir. Break komutu da işlemi durdur anlamına gelir. Eğer yaptığınız işlemin sonuna break koymassanız işlemi durdurmadan diğer case işlemine geçer ve hata oluşur.

Uygulama dosyasını http://www.guraysuerdem.com/dosya/switch.rar adresinden indirebilirsiniz.


Etiketler : , ,


7 Yorum


  • 27 Ağustos 2008
    güven yazdı


    güzel anlatmışsın

  • 11 Kasım 2009
    Okan Sümer yazdı


    iyi günler
    Burada case koduna iki farklı değer atayabilir miyiz ? Örneğinizden yola çıkarsak YAZ veya Yaz kelimelerinden herhangi birini yazınca aynı sonucu döndürmesini nasıl sağlayabiliriz. or ve || ile her iki değeri ayrı ayrı ‘ içine aldım ama ondan sonraki değerler Yaz komutunu döndürmeye devam ediyor.

  • 26 Mart 2011
    Serhat yazdı


    Okan Bey, bunun için bir case ifadesi daha ekleyerek halledebilirsiniz. Yani;
    case “Yaz”;
    echo “Yaz mevsimi güzeldir.”;
    break;

    case “yaz”;
    echo “Yaz mevsimi güzeldir.”;
    break;

    echo “YAZ”;
    echo “Yaz mevsimi güzeldir.”;
    break;

    gibi.

  • 20 Temmuz 2011
    Ahmet Ozan Sivri yazdı


    Dediğinizin aynısını yaptım ancak input a bir şey yazıp aradığımızda :
    Access forbidden!

    Talep ettiğiniz dizine erişim izniniz yok. Dizin, ya okumaya karşı korumalı, ya da sunucu taraf?ndan okunamıyor.

    Bunun bir sunucu hatası olduğunu düşünüyorsanız, lütfen site yöneticisi ile iletişime geçin.
    tarzında birşey geliyor…

  • 18 Ağustos 2011
    büro mobilyaları yazdı


    anlatımınız harika.php sizle çok daha kolay.

  • 29 Haziran 2015
    MUSTAFA YILMAZ yazdı


    <?php
    $mevsim = $_POST["mevsim"];
    $str = $mevsim;
    $str = mb_strtoupper($str, 'iso-8859-9'); //büyük harf yapar türkçe
    echo $str;
    echo "”;
    switch($str){
    case “YAZ”;
    echo “Çok Sıcak Bir Mevsimdir”;
    break;
    case “KIŞ”;
    echo “Çok Soğuk Bir Mevsimdir”;
    break;
    case “Sonbahar”;
    echo “Yağmurlu ve Yaprakların Döküldüğü Bir Mevsimdir”;
    break;
    case “İLKBAHAR”;
    echo “Ilık Bir Mevsimdir”;
    break;
    default;
    echo “Mevsim adını doğru yazdığınızdan emin olun”;
    break;

    }

    ?>

  • 29 Haziran 2015
    MUSTAFA YILMAZ yazdı


    yada böyle sonuç daha doğru oluyor

Yorumla