switch ステートメントは、複数の異なる条件に基づいてさまざまなアクションを実行するために使用されます。
以前に条件を決定する if...else ステートメントを学習しましたが、それは非効率的です。他にもっと良い方法はありますか?使用できる方法の 1 つは、switch...case 構文です。
switch...case の文法構造は次のとおりです:
switch (expr)
{
case
ステートメント;
Break; default:
state;
}
switch ステートメント 同じ式を持つ一連の if ステートメントに似ています
各ケースが順番に判断されますexpr と expr1 かどうか..n が等しい場合、対応するステートメントが実行されます。最後にブレークがある場合、switch ステートメントは、すべての場合に実行されるデフォルトの操作です。満足できません注:
1. case の後にセミコロンを続けてコロンを書かないでください:
2. case の後に判定を書かないでください ($foo > 20 や $ など)。 foo == 30)3. if...else..
4. それぞれの場合にブレークを削除すると、コードはブール判定の方が適しているため、整数または文字列であることが望ましいです。それぞれのブロックは
5 まで順番に実行されます。switch ステートメントをデフォルトとして記述する必要はありませんが、良い習慣として、デフォルトのステートメントを保持することをお勧めします
Example
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 $dir='north'; switch ($dir) { case 'west': echo '西'; break; case 'east': echo '东'; break; case 'north': echo '北'; break; case 'sourth': echo '南'; break; default: echo '未知'; break; }
例
簡単な週の判断を書いてみましょう:
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 //得到今天是星期几的英文简称 $day = date('D'); switch($day){ //拿学校举例,我们让星期一、二、三是校长日 case 'Mon': case 'Tue': case 'Wed': echo '校长日'; break; case 'Thu': echo '星期四'; break; case 'Fri': echo '星期五'; break; default: echo '周末,周末过的比周一到周五还要累<br />'; }今日は何日かを見てください。