| Hızlı Php Dersleri-Bölüm 5 |
|
Switch-case seçim yapıları İf yapıları bir veya bir kaç farklı kontrolün yapılacağı durumlarda oldukça kullanışlıdır. Fakat kontrol sayısı arttığında if yapısının yapmak durumunda kaldığı karşılaştırma sayısı artar ve bu da programın veriminin düşmesine sebep olur. Örneğin 300 farklı kontrolün yapılacağı bir program düşünelim. Bu durumda hem 600 farklı küme parantezi kullanmak durumunda kalırız - ki bu kodlamayı zorlaştırır -, hem de programımız 300 farklı karşılaştırma yapar ve verim az önce de bahsettiğimiz gibi düşer. Switch-case yapısı bunun gibi çok seçim gerektiren durumlarda kullanılması ideal bir yapıdır. Seçim sayısının arttığı durumlarda if yapısına göre çok daha verimlidir. Switch : ingilizcede değiştirmek , case : ise cep demektir. Switch case yapısında da her case farklı bir değer alınınca yapılacak işlemleri gösterir.Switch case yapısını gösteren örnek bir programı aşağıda veriyorum:
<?php $sayi = 5; switch($sayi) { case 1: echo "bir"; break; case 2: echo "iki"; case 3: echo "uc"; case 4: echo "dort"; case 5: echo "bes"; default: echo "hicbiri"; break; } ?>
Yukarıdaki program "sayi" değişkeninin aldığı değere göre işlem yapar. Switch bölümüne gelindiğinde değişkenimizin değeri 5 olduğu için program ilk 4 case i atlayarak 5. case i çalıştırır. Bu sayede boşu boşuna gereksiz kod blokları çalıştırılmamış ve verim arttırılmış olur. Eğer değişkenin değeri 1,2,3,4 veya 5'ten farklı bir değer olsaydı program default(varsayılan) case ini çalıştırır. Switch ile if yapısı arasındaki farkı görebilmek için aynı programı bir de if yapısı ile yazalım.
<?php $sayi = 5; if(sayi==1) { echo "bir"; }else if(sayi==2) { echo "iki"; }else if(sayi==3) { echo "uc"; }else if(sayi==4) { echo "dort"; }else if(sayi==5) { echo "bes"; }else { echo "hicbiri"; } ?>
Yukarıdaki program da ilk program ile aynı işi yapar. Fakat bunu yaparken 5 farklı sorgulama yapmak zorunda kalır. Switch case yapısında ise bu sadece 1'dir. Switch case yapısı daha önce de belirttiğimiz gibi çokseçimli yapılarda if yapısına göre çok daha verimlidir. |