カテゴリー
PHP

switch文を知ろう

この章ではswitch文について説明します。
if文と同じく条件分岐できるのがswitch文です。11
「switch (式 )」の中の11と一致するとbreakまでの文が実行されます。
つまり、以下のような動作をします。
「式」の部分が値1と一致すれば、式が値1と同じ時に実行される処理を実行して、値2と一致すれば、式が値2と同じ時に実行される処理を実行して、どれにも当てはまらない時にdefaultの部分の式がいずれの値にも違う時の処理を実行します。
「switch (式 )」の中の11の中の値が一致したときにはbreakでswitch文を抜けることが出来ますが、breakは一連の流れを強制的に中止したい時に使用します。
switch文でbreakを使う場合にはbreakでswitchのブロックを抜けます。
また、1の部分は整数、浮動小数点、文字列を使うことが出来ます。
switch はifと似た働きがあるので比べてみましょう。1111
if文もswitch文も$aの値が2の時にecho文が実行されます。
if文の場合は以下の箇所で一致します。
1switch文の場合は以下の箇所で一致します。
1結果はどちらも1です。
次はbreak文が記述されてなかった場合にどうなるのかを説明します。
では例をみてみましょう。
11「式」の値がcaseの値に一致した場合、breakの箇所まで処理を実行していきますと説明しましたが、breakが無いと、次のbreakか もしくはbreak がどこにもない場合にはdefaultの箇所まで処理が実行されてしまいます。
上の例で説明しますとbreakがあるならば$aが2なので、1の箇所の1を実行して処理が終わるはずのところ、breakが無いと、そこで止まらず下に抜けて行ってしまいますので、最後のdefaultまで実行されることになります。
ですので、この例の実行結果は1と、なります。
次にcase文を複数設置する方法について説明します。
breakまでの間にcaseを複数設置して、同じ処理を実行させることが出来ます。
では例をみてみましょう。11
このケースでは$rainには40が代入されていますので、switch文の中の以下の部分に合致しますので、結果は1です。
1でも1でも結果は同じです。1