Menu
Coddy logo textTech

Switch İfadesi

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

Tek bir değişkeni birden fazla belirli değerle karşılaştırmanız gerektiğinde, switch ifadesi uzun if-elseif zincirlerine daha temiz bir alternatif sunar.

switch ifadesi 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 değerini her case ile karşılaştırır. Bir eşleşme bulduğunda, o bloğun kodunu çalıştırır.

break ifadesi çok önemlidir. PHP'ye eşleşen case'i çalıştırdıktan sonra switch'ten çıkmasını söyler. Bu ifade olmadan PHP, diğer case'lerdeki kodlar da dahil olmak üzere aşağıdaki tüm kodu çalıştırmaya devam eder.

Cumartesi ve Pazar günlerinin, durumları arka arkaya yazarak aynı kodu paylaştığına dikkat et. default durumu else gibi davranır. Başka hiçbir durum 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 çok kesin değerle karşılaştırırken switch kullan. Karmaşık koşullar veya aralıklar için if-elseif ifadelerini kullanmaya devam et.

challenge icon

Görev

Kolay

Girdiden trafik ışığının rengini temsil eden bir command dizesi okuyun.

Renge göre uygun eylemi belirlemek için bir switch ifadesi kullanın:

  • Komut red ise Stop yazdırın
  • Komut yellow ise Slow down yazdırın
  • Komut green ise Go yazdırın
  • Komut flashing red veya flashing yellow ise Proceed with caution yazdırın
  • Diğer tüm değerler için Invalid signal yazdırın

Örnek:

Girdi green ise çıktı şu olmalıdır:

Go

Girdi flashing red ise çıktı şu olmalıdır:

Proceed with caution

Girdi blue ise çıktı şu olmalıdır:

Invalid signal

Kendin dene

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

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


?>
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

Kendi başına pratik yap: Online PHP derleyicisi