A switch
deyimi bir if/else
ifadesi olarak aynı değildir. Switch ifadeleri belirli değerleri için arıyoruz. Verilen bir case
deyiminde belirtilen değer bulursa, o case
deyimi sonra kod çalışır.
Aşağıdaki kodu:
switch($x)
case 1:
// some stuff
break;
case 2:
// some other stuff
break;
default:
// some more stuff
break;
Bu kodun eşdeğerdir:
if($x == 1){
// some stuff
}
elseif($x == 2){
// some other stuff
}
else{
// some more stuff
}
Temel olarak, switch
deyimleri olanakları bir grup karşı tek bir değişkenin eşitlik için kontrol ediyoruz if/elseif/else
blokları için kısayollar vardır.
empty()
0 veya 1 döndürür yana veya 0 ($location
boşsa) $location
if (1 ise, ilk case
çalışacak $location
) boş değildir. Eğer aşağıdaki yazdık neredeyse gibi:
elseif($location == empty($location)){ ...
Mantıklı? Bunun yerine switch
deyimi kullanarak, muhtemelen istediğim şu:
if(empty($location)){
// ...
}
elseif($location % 10000 == 0){
// ...
}
// ...