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.
Görev
KolayGiriş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
redise,Stopyazdırın - Eğer komut
yellowise,Slow downyazdırın - Eğer komut
greenise,Goyazdırın - Eğer komut
flashing redveyaflashing yellowise,Proceed with cautionyazdırın - Herhangi başka bir değer için,
Invalid signalyazdırın
Örnek:
Eğer giriş green ise, çıktı şu olmalıdır:
GoEğer giriş flashing red ise, çıktı şu olmalıdır:
Proceed with cautionEğer giriş blue ise, çıktı şu olmalıdır:
Invalid signalKopya 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
?>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
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators