この記事では、PHP での switch ステートメントの使い方と、条件が 0 の場合の switch ケースの処理方法を詳しく紹介します。詳しく知りたい学生は参照してください。
Switch ステートメント
複数のコード ブロックのうち 1 つを選択的に実行する場合は、Switch ステートメントを使用します。
Switch ステートメントを使用して、長い if..elseif..else ブロックを回避します。
文法
コードは次のとおりです | コードをコピー |
スイッチ(表情) { ケースラベル1: 式 = label1; の場合に実行されるコード 休憩 ケースラベル2: 式 = label2; の場合に実行されるコード 休憩 デフォルト: 実行されるコード 表現が違うと label1 と label2 の両方から; } |
例
仕組み:
式 (通常は変数) の評価を実行します
式の値を構造体のケースの値と比較します
一致する場合は、ケースに関連付けられたコードを実行します
コードの実行後、break ステートメントにより、コードが次のケースにジャンプして実行を継続することが防止されます
どのケースにも当てはまらない場合は、デフォルトのステートメントを使用します
コードは次のとおりです | コードをコピー |
スイッチ ($cps_sign) { |
プログラムをよく見てみると、もしかしたらスイッチとケースに原因があるのでしょうか?そこで、DEMO テストを作成します。
//出力結果は: bool(true) bool(false) xxx
コードは次のとおりです | コードをコピー |
var_dump(""==0);
var_dump(""===0);
スイッチ ($errid) { |
コードは次のとおりです | コードをコピー |
$結果 = ''; |
今後、switch/case 判定番号を書き込むときは、特に放蕩値 0 がある場合には注意が必要です
switch ステートメントでは、条件が 1 回評価されてから各ケースと比較されますが、elseif ステートメントでは、条件が再度評価されます。条件がより複雑である場合、または複数のループがある場合は、switch ステートメントを使用する方が高速です