Menu
Coddy logo textTech

Switch Statement

Coddy'nin PHP Journey'sinin Temeller bölümünün bir parçası — ders 32 / 71.

Tek bir değişkeni birçok belirli değere karşı karşılaştırmanız gerektiğinde, switch statement uzun if-elseif zincirlerine daha temiz bir alternatif sunar.

switch deyimi bir değişkeni bir kez kontrol eder ve ardından onu farklı case değerleriyle eşleştirir:

<?php
$day = "Monday";

switch ($day) {
    case "Monday":
        echo "Start of the week";
        break;
    case "Friday":
        echo "Almost weekend";
        break;
    case "Saturday":
    case "Sunday":
        echo "Weekend!";
        break;
    default:
        echo "Regular day";
}
?>

PHP, $day'i her case ile karşılaştırır. Eşleşme bulduğunda, o bloğun kodunu çalıştırır.

break ifadesi hayati öneme sahiptir—eşleşen case çalıştırıldıktan sonra switch'ten çıkmak için PHP'ye bildirir. Onsuz, PHP altındaki tüm kodu çalıştırmaya devam eder, hatta diğer case'lardan bile.

Cumartesi ve Pazar'ın case'leri üst üste yığarak aynı kodu nasıl paylaştığını fark edin. default case'i bir else gibi davranır—başka hiçbir case eşleşmediğinde çalışır.

<?php
$grade = "B";

switch ($grade) {
    case "A":
        echo "Excellent!";
        break;
    case "B":
        echo "Good job!";
        break;
    default:
        echo "Keep trying!";
}
?>

Bir değişkeni birden fazla tam değerle karşılaştırırken switch kullanın. Karmaşık koşullar veya aralıklar için if-elseif ifadelerine sadık kalın.

challenge icon

Görev

Kolay

Girişten trafik ışığı rengini temsil eden bir command dizesi okuyun.

Trafik ışığının rengine göre uygun eylemi belirlemek için bir switch deyimi kullanın:

  • Eğer komut red ise, Stop yazdırın
  • Eğer komut yellow ise, Slow down yazdırın
  • Eğer komut green ise, Go yazdırın
  • Eğer komut flashing red veya flashing yellow ise, Proceed with caution yazdırın
  • Herhangi başka bir değer için, Invalid signal yazdırın

Örnek:

Eğer giriş green ise, çıktı şu olmalıdır:

Go

Eğer giriş flashing red ise, çıktı şu olmalıdır:

Proceed with caution

Eğer giriş blue ise, çıktı şu olmalıdır:

Invalid signal

Kopya kağıdı

switch ifadesi, tek bir değişkeni birden fazla belirli değere karşı karşılaştırmanın daha temiz bir yolunu sağlar:

<?php
$day = "Monday";

switch ($day) {
    case "Monday":
        echo "Start of the week";
        break;
    case "Friday":
        echo "Almost weekend";
        break;
    default:
        echo "Regular day";
}
?>

break ifadesi, eşleşen durumu çalıştırdıktan sonra switch'ten çıkar. Olmadan, PHP sonraki durumlardan kod çalıştırmaya devam eder.

Birden fazla durum aynı kodu paylaşmak için üst üste yığılabilir:

<?php
switch ($day) {
    case "Saturday":
    case "Sunday":
        echo "Weekend!";
        break;
}
?>

default durumu, başka hiçbir durum eşleşmediğinde çalışır; bir else ifadesine benzer.

Bir değişkeni birden fazla tam değerle karşılaştırmak için switch ifadelerini kullanın. Karmaşık koşullar veya aralıklar için bunun yerine if-elseif ifadelerini kullanın.

Kendin dene

<?php
// Girdiyi oku
$command = trim(fgets(STDIN));

// TODO: Aşağıdaki kodunuzu bir switch ifadesi kullanarak yazın
// Trafik ışığı rengine göre uygun eylemi belirleyin


?>
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler