条件语句用于执行基于特定条件的语句块。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版本编写的。在执行本脚本的例子之前,请做以下工作。
- 安装 apache2 和 PHP 8。
- 为**/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语句,但它有一些限制。