ホームページ > バックエンド開発 > PHPの問題 > PHPの判定文の書き方

PHPの判定文の書き方

青灯夜游
リリース: 2023-03-11 15:26:01
オリジナル
6482 人が閲覧しました

記述方法: 1. "if (条件) {文ブロック;} else if (条件) {文ブロック;} else {文ブロック;}"; 2. "switch (式) {case 値 1 :ステートメント ブロック;ブレーク;...ケース値 n:ステートメント ブロック;ブレーク;デフォルト:ステートメント ブロック;}"。

PHPの判定文の書き方

このチュートリアルの動作環境: 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 文の実行フローを次の図に示します。

PHPの判定文の書き方

[例] 配列を定義し、if を使用します。偶数ではありません。コードは次のとおりです:

<?php
    $num = 34;
    if ($num % 2 == 0) {
        echo &#39;$num =&#39;.$num.&#39;, 是偶数!&#39;;
    }
?>
ログイン後にコピー

実行結果は次のとおりです:

$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ステートメントの実行フローを次の図に示します。

PHPの判定文の書き方

例] rand() 関数を使用して乱数 $num を生成し、乱数が $num であるかどうかを判断します。コードは次のとおりです。示されているように:

<?php
    $num = rand(1,31);  //生成一个 1~31 之间的随机数
    if ($num % 2 == 0) {
        echo &#39;$num =&#39;.$num.&#39;, 是偶数!&#39;;
    } else {
        echo &#39;$num =&#39;.$num.&#39;, 是奇数!&#39;;
    }
?>
ログイン後にコピー

実行結果は次のとおりです:

$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の判定文の書き方

【例】結果に基づいて優れたまたは優れた結果。良い、中程度、悪いレベルのコードは次のとおりです:

<?php
    $score = 89; 
    if ($score > 90) {
        echo &#39;成绩的级别为:优!&#39;;
    } else if ($score > 70) {
        echo &#39;成绩的级别为:良!&#39;;
    } else if ($score > 60) {
        echo &#39;成绩的级别为:中!&#39;;
    } else {
        echo &#39;成绩的级别为:差!&#39;;
    }
?>
ログイン後にコピー

実行結果は次のとおりです:

成绩的级别为:良!
ログイン後にコピー

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 语句的执行流程如下图所示:

PHPの判定文の書き方

在使用 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(&#39;D&#39;);
    switch($week){
        case &#39;Mon&#39;:
            echo &#39;星期一&#39;;
            break;
        case &#39;Tue&#39;:
            echo &#39;星期二&#39;;
            break;
        case &#39;Wed&#39;:
            echo &#39;星期三&#39;;
            break;
        case &#39;Thu&#39;:
            echo &#39;星期四&#39;;
            break;
        case &#39;Fri&#39;:
            echo &#39;星期五&#39;;
            break;
        case &#39;Sat&#39;:
            echo &#39;星期六&#39;;
            break;
        case &#39;Sun&#39;:
            echo &#39;星期日&#39;;
            break;
    }
?>
ログイン後にコピー

运行结果如下:

星期四
ログイン後にコピー

推荐学习:《PHP视频教程

以上がPHPの判定文の書き方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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