php のマルチブランチは、PHP の多方向条件分岐構造を指します。PHP では、elseif 節は典型的な多方向条件分岐です。これは if ステートメントを拡張します。elseif 節は以下に基づきます。どのステートメント ブロックを実行するかを決定します。PHP では、elseif を 2 つのキーワード else に分割して使用することもできます。
#この記事の動作環境: Windows7 システム、PHP7.1、Dell G3。
php 複数分岐とはどういう意味ですか?
PHP 分岐制御ステートメント、PHP プロセス制御構造の分岐構造
フロー制御は、どのプログラミング言語にも普遍的であり、プログラム コンポーネントの重要な部分です。どのプログラミング言語でも、シーケンシャル構造、分岐構造(選択構造または条件構造)、ループ構造という 3 つの基本構造をサポートする必要があると言えます。逐次構造の場合は主に代入文や入出力文などが順番に実行されるため、特に言うことはありません。ここでは分岐構造とループ構造を中心にまとめます。
分岐構造
分岐構造は、プログラム実行中に必要な条件に応じてプログラムの実行順序を変更します。つまり、条件が満たされると、ある物語ブロックが実行され、条件が満たされない場合は、別の物語ブロックが実行されます。プログラムでの分岐構造の使用には次の形式があります。
单一条件分支结构 双向条件分支结构 多向条件分支结构 巢状条件分支结构
単一条件分岐
if 構造は単一条件分岐構造であり、基本形式は次のとおりです。 if文は式を評価し、その計算結果に基づいて以下の文を実行するかどうかを決定します。 if の後の括弧内の「式」は実行条件であり、条件によって返される結果はブール値のみです。通常、比較演算子や論理演算子で構成される式、またはブール型を返す関数などによって計算された結果の値です。他の型の値が渡された場合は、ブール値の TRUE または FALSE に自動的に変換されます。式が TRUE の場合、コード ブロックは実行されます。それ以外の場合、コード ブロックは実行されません。
DEMO
<?php $x = 10; //定义一个整型变量$x,值为10 $y = 20; //定义一个整型变量$y,值为20 if ( $x < $y ) { //$x是小于$y的,所以执行下面语句块 $t = $x ; //先将$x的值放到临时的变量$t中 $x = $y ; //再将变量$y的值赋给变量$a $y = $t ; //再将临时变量$t中的值赋给变量$y } //语句块结束的花括号 var_dump($x > $y ); //两个变量的值已经交换,输出true echo $x." ".$y; ?>
双方向条件分岐
双方向条件分岐は、else 句も含めることができる if ステートメントのようなものです。条件を満たす場合は 1 つのステートメントが実行され、条件が満たされない場合は他のステートメントが実行されます。これが else 句の機能です。 else は if ステートメントを拡張し、if ステートメント内の式が FALSE と評価されたときにステートメントを実行できます。 else ステートメントは if ステートメントの節であり、if と一緒に使用する必要があり、単独で存在することはできないことに注意してください。
DEMO
<?php $x = 30; $y = 20; if( $x > $y ) { echo "变量$x 大于变量 $y <br>"; //判断的条件成立,此句会执行 } else { echo "变量$x 小于变量 $y <br>"; //判断的条件不成立,此句会被执行 } echo "变量$x和变量$y比较完毕 "; ?>
多方向条件分岐
elseif 句は、典型的な多方向条件分岐であり、if ステートメントを拡張します。 elseif 節は、さまざまな式の値に基づいて、どのステートメント ブロックを実行するかを決定します。 PHP では、elseif を 2 つのキーワード else に分離して使用することもできます。実行順序は、式 l が TRUE の場合はコード ブロック 1 ステートメントを実行し、式 2 が TRUE であると判断された場合はコード ブロック 2 ステートメントを実行し、n 番目の式が TRUE と判断された場合は同様に実行されます。 n ステートメント; 式の条件が TRUE でない場合、else 節内のコード ブロック n l ステートメントが実行されます。もちろん、最後の else ステートメントは省略することもできます。
DEMO
<?php $week = date("D"); //获取当前的星期值,如Mon、Tue、Wed等 if ( $week == "Mon" ) { echo "星期一"; } elseif ( $week == "Tue" ) { echo "星期二"; } elseif ( $week == "Wed" ) { echo "星期三"; } elseif ( $week == "Thu" ) { echo "星期四"; } elseif ( $week == "Fri" ) { echo "星期五"; } elseif ( $week == "Sat" ) { echo "星期六"; } elseif ( $week == "Sun" ) { echo "星期日"; } ?>
switch ステートメントは elseif に似ており、多方向の条件分岐構造でもありますが、if ステートメントと elseif ステートメントは分岐の分岐条件としてブール式またはブール値を使用します。 switch ステートメントは、式の値をテストし、テスト結果に基づいて対応する分岐プログラムを選択して実行し、分岐制御を実現するために使用されます。 switch ステートメントは選択式と複数の case ラベルで構成され、case ラベルの後にコード ブロックが続きます。 switch ステートメントを使用するときは、次の点に注意する必要があります。
switch ステートメントの後の選択式のデータ型は、ブール値ではなく、整数または文字列のみにすることができます。通常、この制御式は変数名です。
switch ステートメントの後の中括弧は必須です。
case ステートメントの数は指定されておらず、無制限に増やすことができます。ただし、case タグとそれに続く値の間にはスペースが必要で、値の後には構文の一部であるコロンが必要です。
スイッチのマッチングが完了すると、一致した分岐モジュール内のステートメントが 1 つずつ実行され、スイッチ構造が終了するか、break ステートメントに遭遇するまで実行は停止しません。
switch ステートメントのデフォルト ラベルの直後にはコロンが続きます。これは、式の値が前の case ラベルの後の値と等しくないことを意味し、デフォルトは次のようになります。ブランチ内の実行されたステートメント。デフォルトのタグは省略可能です。
DEMO
<?php $week = date("D"); switch( $week ) { case "Mon": echo "星期一"; break; case "Tue": echo "星期二"; break; case "Wed": echo "星期三"; break; case "Thu": echo "星期四"; break; case "Fri": echo "星期五"; break; case "Sat": echo "星期六"; break; case "Sun": echo "星期日"; break; } ?>
ネストされた条件分岐
ネストされた条件分岐構造は、if ステートメントのネストです。つまり、if または else の後のコード ブロックに if ステートメントが含まれます。
DEMO
<?php $sex = "male"; //用户输入的性别 $age = 25; //用户输入的年龄 if ( $sex == "male" ) { //如果用户输入的是男性则执行下面的区块 if ( $age >= 60 ) { //如果是男性并且年龄在60以上则执行下面的区块 echo "这个先生已退休".($age-60)."年了"; } else { //如果是男性并且年龄在60以下则执行下面的区块 echo "这个先生在工作,还有".(60-$age)."年才能退休"; } } else { //如果用户输入的是女性则执行下面的区块 if( $age >= 55 ) { //如果是女性并且年龄在55以上则执行下面区块 echo "这个女士已退休".($age-55)."年了"; } else { //如果是女性并且年龄在55以下则执行下面区块 echo "这个女士在工作,还有".(55-$age)."年才能退休"; } } ?>
推奨学習: 「PHP ビデオ チュートリアル 」
以上がphpのマルチブランチとはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。