ホームページ > バックエンド開発 > PHPチュートリアル > PHPスイッチステートメント

PHPスイッチステートメント

王林
リリース: 2024-08-29 12:40:39
オリジナル
795 人が閲覧しました

コーディングの初心者として一般的なコーディング用語で話すと、条件チェックを処理し、その検証に対して何らかのアクションを実行する「if」ステートメントを見たことがあるでしょう。ここで、信号機システム設計のロジックを作成している場合を考えてみましょう。標準の if 条件で進めようとすると、おそらく「if」が 1 つ、「else if or if」が 1 つ、「else」が 1 つになるでしょう。ステートメント、およびそのような基準が多数存在する他の同義の種類のビジネス ロジックが表示されるかどうか。同じカテゴリに属する​​場合、コードは適切に表示されません。そのために、「switch」ステートメントがあります。このステートメントは 1 回だけ記述し、共通のカテゴリに関連付けられた特定のケースと、それに関連して実装されるビジネス ロジックを記述する必要があります。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

PHP Switch ステートメントの詳細な説明

さまざまな年齢があり、それらの人々のカテゴリを表す対応するメッセージが表示される PHP スニペットを見てみましょう。

$age = '7-12'
switch($age)
{
case '0-1': echo 'it is a baby';
break;
case '2-3' : echo 'toddler';
break;
case '4-6' : echo 'infant';
break;
case '7-12': echo 'child';
break;
default : echo 'others';
}
ログイン後にコピー
  • 上に表示された例を見て、大まかなアイデアが得られたかもしれません。この例では、複数の if ステートメントと else ステートメントを使用するのではなく、1 つの「switch」ステートメントのみを使用してそのような条件を実装しています。
  • スイッチは共通の基準パラメータを入力として受け取ります。このパラメータは、ビジネス ロジック実装の条件付き評価を適用する必要がある一連の値を受け取ります。
  • 上記の場合と同様、年齢変数は、言及された年齢範囲が 7 ~ 12 歳と一致することを示しているため、出力には「child」が表示されます。
  • 次に、コントロールトラバーサルの処理順序と経過時間を調べてみましょう。 age 変数の入力が与えられると、システムはテスト値に対してケース式の値を評価し、最初のケースをチェックします。条件が満たされない場合、制御は次のステートメントに進み、次の式を評価し、関連する式が見つかるまで検索を続けます。
  • テスト値を評価すると、システムは「echo ‘child」ステートメントを実行し、次のステップに進みます。
  • 制御フローもデフォルトになりますか?デフォルトで実行される条件のようなもののようです。まあ、そうではありません。すべての case ステートメント ブロックにも「break」ステートメントがあることを確認する必要があります。 「ブレーク」のタスクは、スイッチ コンテキストからフローを取り出し、プログラム ファイル内の次の論理命令に進むことです。
  • デフォルトのステートメントは、上記の条件がいずれも満たされない場合にのみ実行されます。たとえば、年齢が 24 歳の場合、出力は「その他」になります。
  • したがって、デフォルトのステートメントをファイルの最後に置くのは論理的です。
  • この配置順序はコードを書くときに非常に重要であり、主にテスト条件として取得する入力データの種類をよく理解しておく必要があります。最大のユーザーが最初の行のみでできるだけ早く結果を取得できるように、このケースを先頭に置いたほうがよいでしょう。これは、展開しているシステムのデータ分析後に実行できます。
  • デフォルトのステートメントにブレークがない理由を考えてみましょう。上記の説明には答えが含まれています。

構文

switch (testvalue) {
case label1:
code to be executed if testvalue = label1;
break;
case label2:
code to be executed if testvalue = label2;
break;
case label3:
code to be executed if testvalue = label3;
break;
default:
code to be executed if testvalue is different from above;
}
ログイン後にコピー

上記のセクションでは、このロジックのみに関するプログラムを既に共有しました。ユースケースをより深く理解するには、それを参照してください。

スイッチのフローチャート

これはすべての言語で共通の機能であるため、PHP スイッチのフローチャートは他のコーディング言語の switch ステートメントと同じです。

PHPスイッチステートメント

詳細セクションで共有されている例を参照してください。作業に関する詳細情報が記載されています。全体像をより明確にするために、ここではいくつかのアプリケーションの使用例を取り上げてみましょう。

使用例 1

暦年の各月に誕生日を迎える生徒に関連するデータを収集しているとします。ここでは、切り替え基準として月を含め、各月に対応する学生のデータを保存する 12 の異なる配列を作成できます。条件が満たされると、各配列にデータを継続的に追加できます。すべてのアレイは、学校の合計 5000 人の生徒によって占有される可能性があります。

使用例 2

加算、減算、乗算のような演算を実行する必要がある計算機の小規模な設計について話しましょう。スイッチでは、操作の名前を取得し、ケース ラベルに対してそれを検証することができ、一致すると、そこにあるビジネス ロジックがそれぞれの計算に基づいて出力の値を返します。

結論

カテゴリに対する条件の数が増加するケースを見てきました。その場合は、switch ステートメントを使用して適応させる方が良いでしょう。これにより、コードがより明確で読みやすくなり、データ分析とそれに応じたロジックの配置に基づいてコードを高速化することもできます。たとえば、PHP で実装するための構文と、いくつかの関連するユースケースについて説明しました。

以上がPHPスイッチステートメントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート