ホームページ  >  記事  >  バックエンド開発  >  PHPのswitch文の基本構文例を詳しく解説

PHPのswitch文の基本構文例を詳しく解説

伊谢尔伦
伊谢尔伦オリジナル
2017-06-23 10:24:501744ブラウズ

switch ステートメントは、さまざまな条件に基づいてさまざまなアクションを実行するために使用されます。以下に、スイッチの使用法に関する知識ポイントを記載します。スイッチの使用法に興味のある友人は、この記事を通じて一緒に学ぶことができます。 switch は switch ステートメントであり、switch ステートメントは、同じ を持つ一連の IF ステートメントに似ています。同じ変数 (または式) をさまざまな値と比較し、どの値と等しいかに応じて異なるコードを実行する必要がある状況は数多くあります。これはまさに switch ステートメントの目的です。

注: 他の言語とは異なり、Continue ステートメントは、switch に適用されると、break と同様に動作することに注意してください。ループ内にスイッチがあり、外側のループの次の反復に継続したい場合は、Continue 2 を使用します。

次の 2 つの例では、2 つの異なる方法を使用して同じことを実現しています。1 つは一連の if ステートメントを使用し、もう 1 つは switch ステートメントを使用しています。

switch 構造

<?php
if ($i == 0)
{
 echo "i equals 0";
}
elseif ($i == 1)
{
 echo "i equals 1";
}
elseif ($i == 2)
{
 echo "i equals 2";
}
switch ($i)
{
 case 0:
 echo "i equals 0";
 break;
 case 1:
 echo "i equals 1";
 break;
 case 2:
 echo "i equals 2";
 break;
}
?>

switch 構造は で使用できます。 strings

<?php
switch ($i)
{
 case "apple":
 echo "i is apple";
 break;
 case "bar":
 echo "i is bar";
 break;
 case "cake":
 echo "i is cake";
 break;
}
?>

エラーを回避するには、switch がどのように実行されるかを理解することが非常に重要です。 switch ステートメントは 1 行ずつ (実際にはステートメントごとに) 実行されます。最初はコードは実行されません。 case ステートメントの値が switch 式の値と一致する場合にのみ、PHP は switch ブロックの終わり (return ステートメントなど)、または最初の Break ステートメントに遭遇するまでステートメントの実行を開始します。ケースのステートメントセグメントの最後にbreakを書かないと、PHPは次のケースでもステートメントセグメントを実行し続けます。例:

<?php
switch ($i)
{
 case 0:
 echo "i equals 0";
 case 1:
 echo "i equals 1";
 case 2:
 echo "i equals 2";
}
?>

特記事項: $i が 3 に等しい場合、PHP は echo ステートメントを実行しません。ただし、$i が 0 に等しい場合、PHP はすべての echo ステートメントを実行します。 $i が 1 の場合、PHP は次の 2 つの echo ステートメントを実行します。 $i が 2 に等しい場合にのみ、「期待される」結果が得られます。つまり、「i が 2 に等しい」だけです。したがって、break ステートメントを忘れないことが重要です (場合によっては、意図的にブレーク ステートメントの提供を避けたい場合でも)。

switch ステートメントの条件は 1 回だけ評価され、各 case ステートメントと比較されます。条件は elseif ステートメントで再度評価されます。条件が単純な比較よりも複雑である場合、または何度もループする場合は、switch ステートメントを使用した方が高速な場合があります。

ケース内のステートメントを空にすることもできます。これは、次のケースのステートメントに制御を移すだけです。

<?php
switch ($i)
{
 case 0:
 case 1:
 case 2:
 echo "i is less than 3 but not negative";
 break;
 case 3:
 echo "i is 3";
}
?>

ケースの特別なケースがデフォルトです。他のどの大文字と小文字も一致しないあらゆる大文字と小文字が一致します。例:

<?php
switch ($i)
{
 case 0:
 echo "i equals 0";
 break;
 case 1:
 echo "i equals 1";
 break;
 case 2:
 echo "i equals 2";
 break;
 default:
 echo "i is not equal to 0, 1 or 2";
}
?>

case 式は、単純な型 (つまり、文字列だけでなく整数や浮動小数点数) に評価される任意の式にすることができます。配列またはオブジェクトは、単純型に逆参照しない限り使用できません。

以上がPHPのswitch文の基本構文例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。