switch
ステートメントはステートメントと同じではありませんif/else
。Switchステートメントは特定の値を探しています。指定されたステートメントで指定された値が見つかった場合、case
そのステートメントの後にコードを実行しますcase
。
次のコード:
switch($x)
case 1:
// some stuff
break;
case 2:
// some other stuff
break;
default:
// some more stuff
break;
このコードと同等です:
if($x == 1){
// some stuff
}
elseif($x == 2){
// some other stuff
}
else{
// some more stuff
}
基本的に、ステートメントは、多数の可能性に対して単一の変数が等しいかどうかをチェックするブロックswitch
のショートカットです。if/elseif/else
empty()
0または1を返すので、が1(空の場合)または0(空でない場合)の場合、最初のcase
実行が実行されます。次のように書いたようなものです。$location
$location
$location
elseif($location == empty($location)){ ...
わかる?ステートメントを使用する代わりに、switch
おそらく次のものが必要です。
if(empty($location)){
// ...
}
elseif($location % 10000 == 0){
// ...
}
// ...