switch ステートメントは、同じ expression を持つ一連の if ステートメントに似ています。同じ 変数 (または式) をさまざまな値と比較し、どの値と等しいかに応じて異なるコードを実行する必要がある場合がよくあります。これはまさに switch ステートメントの目的です。
switch() ステートメントの形式
switch(表达式){ case 匹配1: 当匹配1和表达式匹配成功执行的代码; break; case 匹配2: 当匹配2和表达式匹配成功执行的代码; break; default: 如果case语句没有与表达式成功所执行的代码; }
switch がどのように実行されるかを理解することは非常に重要です。 switch ステートメントは 1 行ずつ (実際にはステートメントごとに) 実行されます。最初はコードは実行されません。 PHP は、case ステートメントの値が switch 式の値と一致する場合にのみステートメントの実行を開始し、switch ブロックの終わりまたは最初の Break ステートメントに遭遇するまで続行します。ケースのステートメントセグメントの最後にbreakを書かないと、PHPは次のケースでもステートメントセグメントを実行し続けます。
動作原理:
式 (通常は変数) で計算を実行します
式の値を構造内のケースの値と比較します
一致する場合は、ケースに関連付けられたコードを実行します
その後コードが実行され、break ステートメントは、コードが次のケースにジャンプして実行を継続するのを防ぎます
どのケースも true にならない場合は、デフォルトのステートメントを使用します
例:
<?php switch ($x) { case 1: echo "Number 1"; break; case 2: echo "Number 2"; break; case 3: echo "Number 3"; break; default: echo "No number between 1 and 3"; } ?>
1 つのケースのステートメントは空にすることもできます。次の case のステートメント ブロックが空ではないことを認識して、次の case ステートメントに制御を移します。これにより、複数の値の一致と一致するコード ブロックが実現されます。
$i の値が 1、2、または 3 の場合、同じステートメントは出力:
<?php switch($i){ case 1: case 2: case 3: echo "$i的值为$i的值为1或2或3"; break; } ?>
以上がPHP switchステートメントの基本的な使い方と拡張的な使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。