PHP Switch Case Yapısı

PHP Switch Case Yapısı
PHP Switch Case Yapısı
0

Web uygulamalarında, belirli bir değeri kontrol edip farklı durumlara göre işlem yapmak isteyebiliriz. Bunu yapmak için en sık kullanılan yapılardan biri if-elseif-else zinciridir. Ancak bu yapı çok fazla alternatif içerdiğinde okunabilirliği zorlaştırır.

İşte bu gibi durumlarda PHP switch case yapısı, daha temiz ve düzenli bir yol sunar. Çok sayıda koşullu durum arasında seçim yapmamız gerektiğinde switch case kullanmak kodumuzu daha anlaşılır hale getirir.

 

PHP Switch case syntax yapısı:

  • switch, içine yazılan değeri sırayla her case ile karşılaştırır.

  • Eğer bir case değeriyle eşleşirse, o bloğun içindeki kodlar çalışır.

  • break ifadesi, o case bloğundan çıkılmasını sağlar. Aksi takdirde alttaki case’ler de çalışmaya devam eder (fall-through durumu oluşur).

  • default, hiçbir case eşleşmediğinde çalışır. Tıpkı else gibidir.


PHP Switch case yapısını örneklerle pekiştirelim ve nerelerde nasıl kullanıldığına bakalım.

  • Haftanın günlerine göre kullanıcıya mesaj atan bir program oluşturalım.

Bu kod, günün ne olduğuna bakarak farklı bir çıktı veriyor. Default olarak gün değişkeni Cuma olarak atanmış. Böylelikle ekrana “Hayırlı cumalar.” yazdırır. Başka bir gün olsaydı o case içerisine atanmış mesajı yazdıracaktı. Kod çıktısı ise şöyle olacak:

 


 

  • PHP Switch case ile Menü oluşturarak kullanıcıdan işlem seçtirmek

Bu kod, bir menüden hangi işlem türünün seçildiğini kontrol ediyor ve ona göre bir mesaj veriyor. $secim değişkeninin değeri kullanıcının seçimine göre case seçerek ekrana ona göre çıktı verecek. Örneğin case 1 seçilmiş olsaydı kod çıktısı şöyle olacaktı:

 


 

PHP Switch case ile kullanıcının girdiği ortalamaya göre harf notu hesaplayan bir program yazalım.

Kullanıcı tarafından bir girdi isteniyor, bu doğrultuda harf notu belirlenen koşul değerleri arasındaysa o case çağırılıyor. Bu yapının aynısı if-else koşul yapısıyla da oluşturabiliriz. Kod çıktısı şu şekilde olacaktır:

 

Paylaş
İlginizi Çekebilir

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


ReCAPTCHA doğrulama süresi sona erdi. Lütfen sayfayı yeniden yükleyin.