PHP If…Else 语句
在本教程中,您将学习如何在 PHP 中使用 if...else...elseif 语句编写决策代码。
PHP 条件语句
与大多数编程语言一样,PHP 还允许您编写代码,在运行时根据逻辑或比较测试条件的结果执行不同的操作。 这意味着,您可以以计算结果为 true
或 false
的表达式的形式创建测试条件,并根据这些结果执行某些操作。
PHP 中有几个语句可以用来做决定:
- if 语句
- if...else 语句
- if...elseif....else 语句
- switch...case 语句
我们将在接下来的部分中探讨这些陈述。
if
语句
if 语句仅在指定条件评估为真时才用于执行代码块。 这是最简单的 PHP 条件语句,可以这样写:
// 要执行的代码
}
以下示例将输出"周末愉快!" 如果当天是星期五:
<?php
$d = date("D");
if($d == "Fri"){
echo "周末愉快!";
}
?>
if...else
语句
您可以通过将 else 语句添加到 if 语句来提供替代选择来增强决策过程。 if...else 语句允许您在指定条件的计算结果为真时执行一个代码块,如果它的计算结果为假,则执行另一个代码块。 可以这样写:
// 条件为真时执行的代码
} else{
// 条件为假时执行的代码
}
下面的例子如果当前日期是星期五将输出 "Have a nice weekend!",否则将输出 "Have a nice day!"
<?php
$d = date("D");
if($d == "Fri"){
echo "Have a nice weekend!";
} else{
echo "Have a nice day!";
}
?>
if...elseif...else
语句
if...elseif...else 是一个特殊的语句,用于组合多个 if...else 语句。
// 条件 1 为真时执行的代码
} elseif(condition2){
// 条件 1 为假且条件 2 为真时执行的代码
} else{
// 如果条件 1 和条件 2 都为假,则要执行的代码
}
下面的例子如果当前日期是星期五将输出 "Have a nice weekend!",如果当前日期是星期日则输出 "Have a nice Sunday!",否则将输出 "Have a nice day!"
<?php
$d = date("D");
if($d == "Fri"){
echo "Have a nice weekend!";
} elseif($d == "Sun"){
echo "Have a nice Sunday!";
} else{
echo "Have a nice day!";
}
?>
您将在下一章中了解 PHP switch-case 语句。
三元运算符
三元运算符提供了一种编写 if...else 语句的简写方式。 三元运算符由问号 (?
) 符号表示,它需要三个操作数:要检查的条件、true
, 的结果和 false
的结果。
要了解此运算符的工作原理,请考虑以下示例:
<?php
if($age < 18){
echo 'Child'; // 如果年龄小于 18 岁,则显示儿童
} else{
echo 'Adult'; // 如果年龄大于或等于 18,则显示成人
}
?>
使用三元运算符,可以以更紧凑的方式编写相同的代码:
<?php echo ($age < 18) ? 'Child' : 'Adult'; ?>
如果条件评估为真(即如果 $age
小于 18),则上例中的三元运算符选择冒号左侧的值(即 'Child'),并选择冒号右侧的值(即 'Adult')如果条件评估为假。
提示: 使用三元运算符编写的代码可能难以阅读。 但是,它提供了一种编写紧凑 if-else 语句的好方法。
Null 合并运算符 PHP 7
PHP 7 引入了一个新的 null 合并运算符 (??
),您可以将其用作一种速记,您需要将三元运算符与 isset()
函数结合使用。
为了更好地理解这一点,请考虑以下代码行。 它获取 $_GET['name']
的值,如果它不存在或 NULL
,则返回"anonymous"。
<?php
$name = isset($_GET['name']) ? $_GET['name'] : 'anonymous';
?>
使用空合并运算符,相同的代码可以写成:
<?php
$name = $_GET['name'] ?? 'anonymous';
?>
如您所见,后面的语法更紧凑,更容易编写。