PHP 中的一行 if 语句

Shraddha Paghdar 2023年1月30日
  1. PHP 中的 if...else 语句
  2. PHP 中的 if...elseif...else 语句
  3. 在 PHP 中提供一行 if 语句的三元运算符
PHP 中的一行 if 语句

作为程序员,我们通常必须根据某些条件做出决定,并编写在满足条件时由程序执行的代码。if 语句是所有编程语言中都可用的决策语句。我们将了解 PHP 中的一行 if 语句及其替代方法。

PHP 支持 4 种不同类型的条件语句。所有条件语句都支持条件内部的逻辑运算符,例如&&||

if 语句将决定执行的流程。它仅在条件匹配时才执行 if 块的代码。程序按顺序评估代码;如果第一个条件为真,则序列中的所有其他条件都将被忽略。这适用于所有条件语句。

语法

    if(condition) {
        // Code to be executed
    }

例子

<?php
    $grade = "A";
    if($grade = "A"){
        echo "Passed with Distinction";
    }
?>

输出:

Passed with Distinction

PHP 中的 if...else 语句

如果条件匹配,则执行 if 块的代码;否则,它执行 else 块的代码。对 if 语句的 else 语句的替代选择增强了决策过程。

语法

    if(condition){
        // Code to be executed if condition is matched and true
    } else {
        // Code to be executed if condition does not match and false
    }

例子

<?php
    $mark = 30;
    if($mark >= 35){
        echo "Passed";
    } else {
        echo "Failed";
    }
?>

输出:

Failed

PHP 中的 if...elseif...else 语句

它根据匹配条件执行代码。如果没有条件匹配,默认代码将在 else 块内执行。它结合了许多 if...else 语句。程序将尝试找出第一个匹配条件,一旦找到匹配条件,它就会执行其中的代码并中断 if 循环。如果没有给出 else 语句,程序默认不执行任何代码,将执行最后一个 elseif 后面的代码。

语法

    if (test condition 1){
        // Code to be executed if test condition 1 is true
    } elseif (test condition 2){
        // Code to be executed if the test condition 2 is true and condition1 is false
    } else{
        // Code to be executed if both conditions are false
    }

例子

<?php
    $mark = 45;
    if($mark >= 75){
        echo "Passed with Distinction";
    } else if ($mark > 35 && $mark < 75) {
        echo "Passed with first class";
    } else {
        echo "Failed";
    }
?>

输出:

Passed with first class

在 PHP 中提供一行 if 语句的三元运算符

它是 if...else 的替代方法,因为它提供了编写 if...else 语句的缩写方式。有时很难阅读使用三元运算符编写的代码。然而,开发人员使用它是因为它提供了一种编写紧凑 if-else 语句的好方法。

语法

(Condition) ? trueStatement : falseStatement
  1. (Condition) ? : 检查条件
  2. trueStatement:条件匹配的结果
  3. falseStatement:条件不匹配的结果

如果条件评估为真,则三元运算符选择冒号左侧的值,如果条件评估为假,则选择冒号右侧的值。

让我们检查以下示例以了解此运算符的工作原理:

例子:

  • 使用 if...else
<?php
$mark = 38;

if($mark > 35){
    echo 'Passed'; // Display Passed if mark is greater than or equal to 35
} else{
    echo 'Failed'; // Display Failed if mark is less than 35
}
?>
  • 使用三元运算符
<?php
$mark = 38;

echo ($mark > 35) ? 'Passed' : 'Failed'; 
?>

输出:

Passed

这两个语句在字节码级别没有区别。它编写紧凑的 if-else 语句,仅此而已。请记住,某些代码标准中不允许使用三元运算符,因为它会降低代码的可读性。

Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn