【发布时间】:2020-01-22 16:47:00
【问题描述】:
$n = isset($_GET["n"]) ? $_GET['n'] : '';
我发现这个“方法”是为了在输入类型中插入内容之前避免错误..它有效..但我想详细解释这一行。谢谢!
【问题讨论】:
-
它被称为Terniary operator。将其视为单行 if 语句。
$n = isset($_GET["n"]) ? $_GET['n'] : '';
我发现这个“方法”是为了在输入类型中插入内容之前避免错误..它有效..但我想详细解释这一行。谢谢!
【问题讨论】:
这称为if...else 的ternary operator 简写
(condition) ? true : false
左边有一个条件,如果它为真,则执行?之后的语句,否则执行:之后的语句。
【讨论】:
叫做三元运算符
三元运算符是if {} else {} 结构的简写。而不是这样写:
if ($condition) {
$result = 'foo'
} else {
$result = 'bar'
}
你可以这样写:
$result = $condition ? 'foo' : 'bar';
如果此 $condition 计算结果为 true,则左侧操作数将分配给 $result。如果条件计算结果为false,将使用右手。
如果设置了$_GET["n"] 的值,那么它将采用$_GET["n"] 的值。
如果该值未设置,那么它将采用('') 值。
$n = isset($_GET["n"]) ? $_GET['n'] : '';
【讨论】: