PHP ile yazdığınız kodlarda genellikle karar yapıların if else kontrolünü kullanırız. Ancak çok sayıda if else ifadesini bir arada kullandığımızda kodda çok fazla karmaşa oluşur. Bazen if else ile yazdığımız kodları farklı yön yapıları kullanarak da yazabiliriz. İşte bu yazıda if else yerine kullanabileceğiniz switch case yapısını gösterip örnekler vereceğim.
PHP switch case, bir çok kod bloğunda bir eşitliğe karşılık gelen kod bloğunu çalıştırmak istediğimizde kullanırız. Aşağıda sözdizimini verip örnekler ile detaylandıracağız.
Switch case söz dizimi:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
switch (n) { case etiket1: // n etkiket1 olduğunda çalışacak kod break; case etiket2: // n etkiket2 olduğunda çalışacak kod break; case etiket3: // n etkiket3 olduğunda çalışacak kod break; ... default: // n eşlemediğinde çalışacak kod } |
PHP Switch Case Örnekleri
Örnek 1: Basit bir örnekle başlayalım
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php $favRenk = "kırmızı"; switch ($favRenk) { case "kırmızı": echo "Favori renginiz Kırmızı"; break; case "yeşil": echo "Favori renginiz Yeşil"; break; case "mavi": echo "Favori renginiz Mavi"; break; default: echo "Favori renginiz YOK!"; } ?> |
Örnek 2: Toplu ulaşım örneği
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<?php #tam 6lira, sosyal 5lira ve öğrenci 3lira $bakiye = 15.5; $ucret = 0; $tarife = 1; // 0-Tam, 1-Sosyal, 2-Öğrenci switch($tarife){ case 0: $ucret = 6; break; case 1: $ucret = 5; break; case 2: $ucret = 3; } if($bakiye > $ucret){ $bakiye -= $ucret; echo "Kalan bakiye: $bakiye"; }else{ echo "Bakiye yetersiz"; } |
Örnek 3: Hafta içi mi Hafta sonu mu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?php $gun = 7; $aciklama = ""; switch ($gun) { case 1: case 2: case 3: case 4: case 5: $aciklama = "Hafta içi"; break; case 6: case 7: $aciklama = "Hafta sonu"; break; default: break; } echo "<h1>$gun. gün <b>$aciklama</b></h1>"; |
Örnek 4: Rakamları yazdırma
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
<?php $rakam = 8; switch ($rakam) { case 0: echo "sıfır"; break; case 1: echo "bir"; break; case 2: echo "iki"; break; case 3: echo "üç"; break; case 4: echo "dört"; break; case 5: echo "beş"; break; case 6: echo "altı"; break; case 7: echo "yedi"; break; case 8: echo "sekiz"; break; case 9: echo "dokuz"; break; default: break; } |
Örnek 5: Dört işlem örneği
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php $sayi1 = 30; $sayi2 = 10; $sonuc = 0; $islem = '-'; switch($islem){ case '+': $sonuc = $sayi1 + $sayi2; break; case '-': $sonuc = $sayi1 - $sayi2; break; case '*': $sonuc = $sayi1 * $sayi2; break; case '/': $sonuc = $sayi1 / $sayi2; break; default: break; } echo "$islem işlemi sonucu: $sonuc"; |
Örnek 6: Hafta içi mi Hafta sonu mu (in_array ile kullanım)
in_array
— Bir dizide bir değerin varlığını araştırır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php $gun = 6; $aciklama = ""; switch ($gun) { case in_array($gun,[1,2,3,4,5]): $aciklama = "Hafta içi"; break; case in_array($gun,[6,7]): $aciklama = "Hafta sonu"; break; default: break; } echo "<h1>$gun. gün <b>$aciklama</b></h1>"; |
Add Comment