PHPSwitchCase でデフォルトを使用
-
PHP
switchケース -
PHP の
switch-caseステートメントでdefaultステートメントを使用する -
PHP の
switch-caseでbreakステートメントなしでdefaultステートメントを使用する
PHP で switchcase ステートメントを紹介します。スイッチケースのさまざまなシナリオと、コードがケースを処理する方法について説明します。次に、PHP の switchcase ステートメントでの break ステートメントとその使用法を紹介します。
その前に一致するケースが存在する場合、default ケースが実行されるかどうかを確認します。このメソッドでは、結果を確認するために break ステートメントを削除します。
PHP switch ケース
switch-case ステートメントは条件付きであり、if-elseif-else ステートメントの代替です。このステートメントは、正しい一致が見つかるまで変数をチェックし、一致したケースに従って実行します。switch ステートメントを使用して変数をテストし、case ステートメントを使用してテストするケースを指定できます。case ステートメントの後にコードを記述して、case が一致した場合にコードを実行します。
switch-case ステートメントは、if-elseif-else ステートメントと 1つの特徴的な点で異なります。if-elseif-else ステートメントは、条件が真になった後に唯一のコードを実行し、条件付きテストを中止します。ただし、switch case ステートメントでは、すべてのケースがテストされ、対応する各コードが実行されます。問題を取り除くために、break ステートメントを使用します。ケースが一致し、対応するコードが実行されると、実行は break ステートメントになり、条件付きチェックは中止されます。したがって、各ケースの最後に break ステートメントを記述します。
たとえば、変数 $favfood を作成し、値 pizza を割り当てます。括弧内の変数 $favfood を使用して switch ステートメントを記述します。switch ステートメント内に case ステートメントを記述し、case momo を case "momo":として指定します。値の後のコロンを見逃さないでください。ケースの下にある echo ステートメントを使用して、Your favorite food is momo!というメッセージを表示します。メッセージを表示した後、break ステートメントを記述します。同様に、momo の場合と同じように spaghetti と pizza のケースを記述し、それに応じてメッセージを表示し、それぞれのケースの break ステートメントを記述します。
以下の例は、Your favorite food is pizza!というメッセージを表示します。変数 $favfood が値 pizza を保持しているためです。まず、ケース momo をテストします。一致しないため、実行はケース spaghetti に向かって移動します。このケースも一致しませんが、ピザのケースは一致します。次に、対応するメッセージを表示し、break ステートメントを実行します。break ステートメントは、switch case ステートメント全体を終了し、それ以上のコードが実行されないようにします。
サンプルコード:
# php 7.*
<?php
$favfood = "pizza";
switch ($favfood) {
case "momo":
echo "Your favorite food is momo!";
break;
case "spaghetti":
echo "Your favorite food is spaghetti!";
break;
case "pizza":
echo "Your favorite food is pizza!";
break;
case "burger":
echo "Your favorite food is burger!";
break;
}
?>
出力:
Your favorite color is pizza!
PHP の switch-case ステートメントで default ステートメントを使用する
switch-case ステートメントの default ステートメントを使用して、上記で指定されたケースを満たさないケースを示すことができます。つまり、どのケースにも一致しない場合、default ステートメントが実行されます。すべてのケースの最後に default ステートメントを記述します。上記の例では、デフォルトのケースはありません。上記のケースのいずれも一致しない場合、コードは何も出力しません。したがって、default ステートメントは残りのケースに対応します。
最初のコード例を変更して、default ステートメントの使用法を説明できます。たとえば、値 spaghetti を変数 $favfood に割り当てます。ケース spaghetti のコードブロックを削除し、デフォルトのステートメントを追加します。default ステートメント内に、We could not find your favorite food というメッセージを表示します。メッセージの後に break ステートメントを記述します。
以下の例では、指定されたケースのいずれも一致しません。したがって、コントロールは default ステートメントに到達します。次に、対応するメッセージを表示します。spaghetti のコードブロックを削除しなかった場合、デフォルトのステートメントは実行されませんでした。Your favorite food is spaghetti!というメッセージが表示されます。break ステートメントは、ケースが一致した場合、条件付きチェックを中止します。
サンプルコード:
#php 7.x
<?php
$favfood = "spaghetti";
switch ($favfood) {
case "momo":
echo "Your favorite food is momo!";
break;
case "pizza":
echo "Your favorite food is pizza!";
break;
case "burger":
echo "Your favorite food is burger!";
break;
default:
echo "We could not find your favorite food";
break;
}
?>
出力:
We could not find your favorite food
PHP の switch-case で break ステートメントなしで default ステートメントを使用する
break ステートメントを使用せずに、switch ケースで default ステートメントを使用して、default ブロックがその前に一致するケースを実行するかどうかを確認できます。デモ用に上記のサンプルコードを少し変更できます。たとえば、$favfood を momo の値に割り当てます。momo、pizza、burger、default のケースとコードブロックをそれぞれ記述します。どのコードブロックにも break ステートメントを記述しないでください。
以下の例では、実行はすべてのケースを通過し、すべてのメッセージを表示します。以前に一致するケースがあったとしても、デフォルトのブロックは、一致するケースが続くブロックとともに実行されます。これは、break ステートメントを省略したためです。
サンプルコード:
#php 7.x
<?php
$favfood = "momo";
switch ($favfood) {
case "momo":
echo "Your favorite food is momo!"."<br>";
case "pizza":
echo "Your favorite food is pizza!"."<br>";
case "burger":
echo "Your favorite food is burger!"."<br>";
default:
echo "We could not find your favorite food"."<br>";
}
?>
出力:
Your favorite food is momo!
Your favorite food is pizza!
Your favorite food is burger!
We could not find your favorite food.
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn