发布于 2009-08-14 17:27:43
这是PHP ternary operator (也称为条件运算符)-如果第一个操作数的计算结果为true,则计算为第二个操作数,否则计算为第三个操作数。
可以将其视为可以在表达式中使用的"if“语句。在根据某些条件进行简明的赋值时非常有用,例如
$param = isset($_GET['param']) ? $_GET['param'] : 'default';
还有一个速记版本(PHP5.3及以上版本)。您可以省略中间的操作数。如果为真,则运算符将计算为第一个操作数,否则将计算为第三个操作数。例如:
$result = $x ?: 'default';
值得一提的是,当使用$_GET或$_POST变量时,上面的代码将抛出未定义的索引通知,并防止我们需要使用更长的版本,isset
或a null coalescing operator是在PHP7中引入的:
$param = $_GET['param'] ?? 'default';
发布于 2009-08-14 09:34:33
它是if-else运算符的三元形式。上面的语句基本上是这样的:
if ($add_review) then {
return FALSE; //$add_review evaluated as True
} else {
return $arg //$add_review evaluated as False
}
有关PHP中三元op的更多详细信息,请参阅此处:http://www.addedbytes.com/php/ternary-conditionals/
https://stackoverflow.com/questions/1276909
复制相似问题