PHP 中的问号符号
在PHP中,问号 ?
运算符被称为三元运算符或条件三元运算符。本文将深入介绍PHP中的三元运算符。
PHP中三元运算符的介绍
三元条件运算符 ?
也被称为条件表达式或三元运算符。它具有以下语法:
$variable = (condition) ? value_if_true : value_if_false;
以下是各组成部分的解释:
-
condition
:一个将被评估的布尔表达式。 -
value_if_true
:如果condition
为真时,将赋给$variable
的值。 -
value_if_false
:如果condition
为假时,将赋给$variable
的值。
三元运算符评估 condition
;如果为真,则将 value_if_true
赋给 $variable
;否则,将 value_if_false
赋给 $variable
。
示例代码:
<?php
$num = 10;
$result = ($num % 2 == 0) ? "Even" : "Odd";
echo "The number $num is $result.";
?>
输出:
The number 10 is Even.
我们可以使用三元运算符替代 if-else
结构,以缩短代码的长度和提高可读性。我们可以使用它编写更简单的条件表达式。
示例代码:
<?php
$count = (true) ? 1 : 0;
if (true)
{
$count = 1;
}
else
{
$count = 0;
}
echo $count;
?>
输出:
1
然而,当我们链式或嵌套使用三元运算符时,阅读代码可能会较为困难。三元运算符的另一个缺点是,由于我们不能在子表达式中设置断点,所以很难调试代码。
使用PHP中的三元运算符评估True
和False
表达式
我们将研究三元运算符的使用。下面的示例将对true
表达式进行评估,并相应地执行代码块。
canVote()
函数将确定一个人是否有资格投票。首先,变量 $age
被评估为大于或等于 18
。
接下来,我们使用值 21
作为参数调用了 canVote()
函数,这是合法投票的年龄。在这里,表达式被评估为true
,并执行了第二个表达式。
示例代码:
<?php
function canVote($age){
echo $age>=18 ?"you can vote": "you cannot vote";
}
canVote(21);
?>
canVote()
函数将确定一个人是否有资格投票。首先,变量 $age
被评估为大于或等于 18
。
接下来,我们使用值 21
作为参数调用了 canVote()
函数,这是合法投票的年龄。在这里,表达式被评估为true
,并执行了第二个表达式。
输出:
you can vote
在下一个示例中,如果我们提供小于 18
的值,比较表达式将被评估为false
。因此,将显示第三个表达式 you cannot vote
。
示例代码:
<?php
function canVote($age){
echo $age>=18 ?"you can vote": "you cannot vote";
}
canVote(17);
?>
输出:
you cannot vote
在其他情况下,要被表达的评估会返回false
值。例如,如果表达式返回 null
、Nan
、0
或一个空值,则表达式将返回false
值。
以下示例展示了 falsy
值的条件。当这些值被评估时,三元运算符将执行第三个表达式。
示例代码:
<?php
function Car($name){
echo $name?$name:"no name";
echo "<br>";
}
Car("Tesla");
Car(null);
Car("");
Car(0);
?>
输出:
Tesla
no name
no name
no name
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn