|
|
PHP Switch DeyimiPHP’de program akışını yönlendirmekte kullanılan bir diğer unsur
switch deyimidir. Adı anahtar anlamına gelen switch deyimi, verilen bir değişkenin değerinin önceden sıralanan koşullardan hangisine uygun olduğunu sınar ve o koşula ilişkin komutları işler. Herhangi bir koşul sağlandıktan sonra diğer koşulların da kontrol edilmemesi için break komutu kullanılır. if komutundaki else gibi switch komutunda da hiçbir şartın sağlanmaması halinde default ile belirtilen komutlar işlenir. Switch komutunun kullanım şekli şöyledir;
switch ( değişken ) {
case KOŞUL-1 ;
Koşul-1 doğru ise yapılacak işlere ilişkin komutlar
break;
case KOŞUL-2 ;
Koşul-2 doğru ise yapılacak işlere ilişkin komutlar
break;
case KOŞUL-3 ;
Koşul-3 doğru ise yapılacak işlere ilişkin komutlar
break;
case KOŞUL-4 ;
Koşul-4 doğru ise yapılacak işlere ilişkin komutlar
break;
......................
default:
diğer her durumda yapılacak işlere ilişkin komutlar
}
Switch deyimi kullanılırken break ifadesi kullanılmayabilir. Ancak switch deyiminin akışı break ile kesilmemişse, program ilk şart yerine gelmiş olsa da diğer şartlar da kontrol edilir ve en sondaki default deyimine ulaşarak bu bölümdeki komutlar da işlenir. Bu da programcılık mantığına aykırıdır. Örneğin;
switch ( $sarki )
{
case "Güneş Doğacak":
echo ("Seçtiğiniz şarkının adı: Güneş Doğacak
") ; break;
case "Derdime Derman":
echo ("Seçtiğiniz şarkının adı: Derdime Derman
") ; break;
case "Haberi Yok":
echo ("Seçtiğiniz şarkının adı: Haberi Yok
") ; break;
case "Sonsuza kadar":
echo ("Seçtiğiniz şarkının adı: Sonsuza kadar
") ; break;
default:
echo ("Seçtiğiniz şarkının adı bilinmiyor
") ;
}
Yukarıdaki örnekte, $sarki adlı değişkenin değeri, case ile belirtilen dört isimle karşılaştırılır. Şarkının adı, "Güneş Doğacak" ise ilk durum gerçekleşmiş olur ve program tarayıcı penceresine şarkının adını yazar ve break ifadesi ile switch deyiminin sona ermesi sağlanır. Bu dört şarttan biri sağlanmaz ise program tarayıcı penceresinde, default’la belirtilmiş olan "Seçtiğiniz şarkının adı bilinmiyor" yazısını görüntüler .
Switch için KısayolKimi zaman yazılacak programda bir değişkenin değerini sadece bir şarta uygunluk açısından sınamak gerekebilir. Bu işlem, soru ve iki nokta üst üste işaretleri (? ...

kullanarak yapılır. Örneğin; bir web sitesini ziyaret eden kişinin parola yazıp yazmadığını sınamak için aşağıdaki komutlar kullanılabilir.
<?php
$uyari = ($parola == "" ) ? "Parola yazmanız gerekir" : "Teşekkür ederiz" ;
echo ($uyari);
?>
Bu kod parçacığı, ziyaretçinin parola girip girmediğini, $parola değişkeninin içinin boş olup olmadığına bakar ve $parola değişkenin içi boş ise (yani soru işaretinin sorguladığı durumun doğru olması halinde) iki nokta üst üste işaretinden önceki metni, $uyarı değişkenin içeriği haline getirir. $parola değişkeninin içi dolu ise (yani koşul yerine gelmiyorsa, durum yanlış ise) iki nokta üst üste işaretinden sonraki metni, $uyarı değişkeninin içeriği yapar. Bir sonraki echo() komutu ise içeriği bu belirlenen $uyarı değişkeninin değerinin tarayıcı penceresinde görüntülenmesini sağlar .
SanalPusula.Net