举例说明PHP 的If...Else 语句

398 阅读4分钟

条件语句用于执行基于特定条件的语句块。If...else'语句是条件语句的一种类型,它与特定的条件一起工作。在PHP中可以使用不同类型的'if...else'语句来实现条件语句。下面提到了这些。

A.简单的 'if'语句

语法

if (condition(s)) {
    Statement(s)
}

上述if语句用于实现只针对真值的条件语句。

B.If...else'语句

语法

if (condition(s)) {
    Statement(s)
}
else {
    Statement(s)
}

上述if语句是用来实现真假值的条件语句的。

C.If...elseif...else' 语句

语法

if (condition(s)) {
    Statement(s)
}
elseif (condition(s)) {
    Statement(s)
}
elseif (condition(s)) {
    Statement(s)
}
. . .
else {
    Statement(s)
}

上面的if语句是用来实现多个if语句的条件语句。如果第一个if条件返回错误,那么它将检查第二个if条件,以此类推。如果语句返回假值else部分的语句将被全部执行。

D.嵌套的 "if...else "语句

语法

if (condition(s)) {
If (condition(s)) {
        Statement(s)
}
else {
        Statement(s)
}
}
else {
    Statement(s)
}

当一个if语句的执行取决于另一个if语句时,就会使用上述if语句。

前提条件

本教程中的例子所使用的脚本是基于PHP8版本编写的。在执行本脚本的例子之前,请做以下工作。

  1. 安装 apache2 和 PHP 8。
  2. 为**/var/www/html** 文件夹下的所有文件和文件夹设置执行权限,所有的PHP文件将存放在该文件夹下。

If...Else语句的不同用法

上面提到的 "**if...else "**语句的不同用法,在本教程的这一部分通过实例进行了解释。

例1:使用简单的 "如果 "语句

用下面的脚本创建一个PHP文件,读取一个URL查询参数,如果查询参数的值与一个特定的值相匹配,则打印一个信息。这里,一个if语句用来检查查询参数是否被设置,另一个if语句用来比较参数值和一个字符串值。

<?php

//Check the value of name has given in the URL or not
if(isset($_GET['name']))
{
    $name = $_GET['name'];
    //Check the provided name is selected or not
    if (strtolower($name) == "jafariqbal")
        echo '<h2>You are selected.</h2>';
}

?>

输出

在执行上述带有查询参数的脚本后,将出现以下输出。这里,文件名是if1.php,存放在**/var/www/html/code**文件夹内。查询参数名称为 "name",其值为 "Jafar Iqbal"。

例2:使用If...Else语句

用下面的脚本创建一个PHP文件,读取一个URL查询参数,如果查询参数的值与某个特定的值相匹配,就打印一条信息,如果查询参数不匹配,就打印另一条信息。这里,一个if语句用来检查查询参数是否被设置,另一个if语句用来比较参数值和一个字符串值。

<?php

//Check the value of name has given in the URL or not
if(isset($_GET['name']))
{
    $name = $_GET['name'];
    //Check the provided name is selected or not
    if (strtolower($name) == "jafariqbal")
        echo '<h2>You are selected.</h2>';
    else
        echo "<h2>You are not selected.</h2>";
}
else
    echo "<h2>No name value has given.</h2>"

?>

输出

在没有任何查询参数的情况下执行上述脚本后,将出现以下输出。这里,文件名是if2.php,存放在**/var/www/html/code**文件夹中。

在执行上述脚本后,如果有一个有效的查询参数名,将出现以下输出。这里,查询参数的名称是 "name",其值是 "Jafar Iqbal"。

在执行上述脚本后,如果查询参数名称无效,会出现以下输出。这里,查询参数的名称是 "name",值是 "Jafar"。

例3:使用 "If...Elseif...Else "语句

用下面的脚本创建一个PHP文件,通过比较查询参数的值和一个字符串的值**,读取一个URL查询参数,并根据条件的返回值** 打印一条信息。如果所有的if条件都返回false,那么else部分的信息将被打印。

<?php

//Check the value of the name has given in the URL or not
if(isset($_GET['name']))
{
    $name = strtolower($_GET['name']);
    //Check the provided name is selected in which group
    if ($name == "jafariqbal")
        echo "<h2>You are in group-1.</h2>";
    elseif ($name == 'janifer')
        echo "<h2>You are in group-2.</h2>";
    elseif ($name == 'jony')
        echo "<h2>You are in group-3.</h2>";
    else
        echo "<h2>You are not selected.</h2>";
}
else
    //Print message if no value will be provided in the URL
    echo "<h2>No name value has given.</h2>"


?>

输出

在执行上述带有有效查询参数名称的脚本后,将出现以下输出。这里,文件名是if3.php,存放在**/var/www/html/code**文件夹内。查询参数名称为 "name",其值为 "janifer"。

在执行上述脚本后,将出现以下输出,并有一个有效的查询参数名称。这里,查询参数名称为 "name",值为 "sakib"。

例4:使用嵌套的 "If...Else "语句

用下面的脚本创建一个PHP文件,用嵌套的if...else语句比较两个字符串的值来打印信息。这里,外层的if语句将比较部门变量的值,如果它返回true,那么内层的if语句将比较post变量的值。输出将根据两个if语句的返回值生成。

<?php

 

    //Define two string values
    $department = 'HR';  
    $post = "Manager";  

    echo "<br />";

    //Check the first outer if condition
    if ($department == "Sales")  
    {  
        //Check the inner if condition
        if ($post == "Assistant Manager") {  
            echo "Total assistant managers are of <b>$department</b> department 25.";  
        }  
        if ($post == "Manager") {  
            echo "Total managers of <b>$department</b> department are 10.";  
        }
    }  
    //Check the second outer if condition
    elseif ($department == "HR")
    {  
         //Check the inner if condition
        if ($post == "Assistant Manager") {  
            echo "Total assistant managers of <b>$department</b> department are 20.";  
        }  
        if ($post == "Manager") {  
            echo "Total managers of <b>$department</b> department are 5.";  
        }
    }  

?>

输出

执行上述脚本后会出现以下输出。这里,文件名是if4.php,存放在**/var/www/html/code**文件夹中。

总结

本教程解释了'if...else'语句的四种不同用途,以帮助PHP编码者正确理解条件语句在PHP中的使用。if...else"语句的替代品是switch语句,但它有一些限制。