記述方法: 1. "if (条件) {文ブロック;} else if (条件) {文ブロック;} else {文ブロック;}"; 2. "switch (式) {case 値 1 :ステートメント ブロック;ブレーク;...ケース値 n:ステートメント ブロック;ブレーク;デフォルト:ステートメント ブロック;}"。
このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
プログラム開発の過程で、この場合、異なるコードが実行されることがあります。このとき、条件判定が必要です。PHP では、条件判定に if または switch を使用できます。実際のシナリオに応じて、対応する条件文を選択する必要があります:
1. if else 文
if else 文は、プロセス制御における条件判断に基づく実行の一種です。このステートメントを実行すると、まず条件が判定され、判定結果に基づいて対応する演算が行われます。これは、 if
ステートメント、 if...else
ステートメント、 if...else if...else
ステートメントの 3 つのタイプに細分できます。
1)、if 条件文
if 文は、最も単純なタイプのプロセス制御です。特定の条件が真であるかどうかのみを判断し、真の場合は特定のステートメント ブロックを実行します。構文形式は次のとおりです:
if (判断条件) { 语句块; }
実行する必要があるステートメント ブロックに複数のステートメントが含まれている場合は、全体を表すために { } を使用してそれらを囲む必要があります。実行するステートメントが 1 つだけの場合は、実行する場合は、中括弧マークを省略できます。以下のようになります。
if (判断条件) 一条语句;
if 文の実行フローを次の図に示します。
[例] 配列を定義し、if を使用します。偶数ではありません。コードは次のとおりです:
<?php $num = 34; if ($num % 2 == 0) { echo '$num ='.$num.', 是偶数!'; } ?>
実行結果は次のとおりです:
$num =34, 是偶数!
2), if.. .else...条件文
if文は判定結果が真の場合のみ演算を行うことができますが、それだけでは不十分な場合が多いため、if...の形式の文があります。それ以外。 if...else 文は、if 判定とは異なり、判定結果が真である場合の演算だけでなく、判定結果が真でない場合にも対応する演算を行うことができます。
else ステートメントは if ステートメントを拡張し、if ステートメント内の式の値が FALSE の場合に対応するステートメントを実行できます。もう 1 つ注意すべき点は、else ステートメントは if ステートメントの句であり、if ステートメントと一緒に使用する必要があり、単独で存在することはできないということです。
if...else文の構文形式は以下のとおりです。
if (判断条件) { 语句块 1; } else { 语句块 2; }
上記形式では、「判定条件」が真の場合「文ブロック1」を実行します。それ以外の場合は、「ステートメント ブロック 2」を実行します。 「ブロック 1」と「ブロック 2」の両方に複数のステートメントを含めることができます。 if ステートメントと同様に、「ステートメント ブロック 1」と「ステートメント ブロック 2」の両方にステートメントが 1 つだけ含まれている場合は、次のように中括弧 { } を省略できます。
if (判断条件) 语句块 1; else 语句块 2;
if...elseステートメントの実行フローを次の図に示します。
例] rand() 関数を使用して乱数 $num を生成し、乱数が $num であるかどうかを判断します。コードは次のとおりです。示されているように:
<?php $num = rand(1,31); //生成一个 1~31 之间的随机数 if ($num % 2 == 0) { echo '$num ='.$num.', 是偶数!'; } else { echo '$num ='.$num.', 是奇数!'; } ?>
実行結果は次のとおりです:
$num =27, 是奇数!
3), if...elseif...else。 ..条件ステートメント
else if ステートメントは else ステートメントと同じです。if ステートメントを拡張します。else if ステートメントは、異なる式に基づいてどのステートメント ブロックを実行するかを決定します。
PHP では、2 つの else if キーワードを一緒に使用することもできます (elseif など)。 else if 文の構文形式は次のとおりです。
if (判断条件 1) { 语句块 1; } else if (判断条件 2) { 语句块 2; } else if (判断条件 3) { 语句块 3; } ...... else if (判断条件 n) { 语句块 n; } else{ 语句块 n+1; }
上記の else if 構文では、最初の「判定条件 1」が TRUE の場合は「文ブロック 1」が実行され、 2 番目 「判定条件 2」が TRUE の場合、ステートメント「ステートメント ブロック 2」が実行されます。以下同様です。式の条件がいずれも TRUE でない場合は、else 節内の「ステートメント ブロック n 1」ステートメントが実行されます。もちろん、最後の else ステートメントを省略することもできます。
else if ステートメント内で同時に TRUE になれる式は 1 つだけです。つまり、else if ステートメント内で実行できるステートメント ブロックは 1 つだけです。 TRUE と評価される式が複数ある場合は、最初の式に対応するステートメント ブロックのみが実行されます。
if...else if...else文の実行の流れは下図のとおりです。
【例】結果に基づいて優れたまたは優れた結果。良い、中程度、悪いレベルのコードは次のとおりです:
<?php $score = 89; if ($score > 90) { echo '成绩的级别为:优!'; } else if ($score > 70) { echo '成绩的级别为:良!'; } else if ($score > 60) { echo '成绩的级别为:中!'; } else { echo '成绩的级别为:差!'; } ?>
実行結果は次のとおりです:
成绩的级别为:良!
2 . switch...case...条件ステートメント
switch ステートメントは、if...else if...else ステートメントに似ており、分岐構造でもあります。 if...else if...else ステートメントを使用すると、switch ステートメントはより簡潔になります。
switch ステートメントは、式と複数の case ラベルで構成され、case ラベルの後にコード ブロックが続き、case ラベルはこのコード ブロックの識別子として機能します。 switch ステートメントの構文形式は次のとおりです。
switch(表达式){ case 值 1: 语句块 1; break; case 值 2: 语句块 2; break; ... ... case 值 n: 语句块 n; break; default: 语句块 n+1; }
switch 语句根据表达式的值,依次与 case 中的值进行比较,如果不相等,继续查找下一个 case;如果相等,就会执行对应的语句,直到 switch 语句结束或遇到 break 为止。
一般来说,switch 语句最终都有一个默认值 default,如果在前面的 case 中没有找到相符的条件,则执行默认语句,和 else 语句类似。
switch 语句的执行流程如下图所示:
在使用 switch 语句时应该注意以下几点:
和 if 语句不同的是,switch 语句后面表达式的数据类型只能是整型或字符串,不能是 bool 型。通常这个表达式是一个变量名称,虽然 PHP 是弱类型语言,在 switch 后面表达式的变量可以是任意类型数据,但为了保证匹配执行的准确性,最好只使用整型或字符串中的一种类型。
和 if 语句不同的是,switch 语句后面的花括号是必须有的。
case 语句的个数没有规定,可以无限增加。但 case 标签和 case 标签后面的值之间应该有一个空格,值后面必须有一个冒号,这是语法的一部分。
switch 匹配完成以后,将依次逐条执行匹配的分支模块中的语句,直到 switch 结构结束或者遇到了 break 语句才停止执行。所以,如果一个分支语句的后面没有写上 break 语句,程序将会继续执行下一个分支语句的内容。
与 if 语句中的 else 类似,switch 语句中 default 标签直接在后面加上一个冒号,看似没有条件,其实是有条件的,条件就是“表达式”的值不能与前面任何一个 case 标签后的值相等,这时才执行 default 分支中的语句。default 标签和 if 中的 else 子句一样,它不是 switch 语句中必需的,可以省略。
【示例】使用 date() 函数获取当前星期的英文缩写,根据缩写打印今天是星期几,代码如下所示:
<?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; } ?>
运行结果如下:
星期四
推荐学习:《PHP视频教程》
以上がPHPの判定文の書き方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。