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){
// ...
}
// ...