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
-
(Condition) ?
: 检查条件 -
trueStatement
:条件匹配的结果 -
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 语句,仅此而已。请记住,某些代码标准中不允许使用三元运算符,因为它会降低代码的可读性。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341