PHP中的这种语法(page = $ page?$ page:'default')是什么意思?

jes*_*est 3 php wordpress ternary-operator language-construct conditional-operator

我是PHP的新手.我在WordPress中遇到了这种语法.该代码的最后一行是做什么的?

$page = $_SERVER['REQUEST_URI'];
$page = str_replace("/","",$page);
$page = str_replace(".php","",$page);
$page = $page ? $page : 'default'
Run Code Online (Sandbox Code Playgroud)

ech*_*cho 7

那是三元运算符:

该行转换为

if ($page)
    $page = $page;
else
    $page = 'default';
Run Code Online (Sandbox Code Playgroud)


Cup*_*ups 6

这是PHP中条件运算符的一个示例.

这是速记版本:

if (something is true ) {
    Do this
}
else {
    Do that
}
Run Code Online (Sandbox Code Playgroud)

请参阅使用If/Else三元运算符 http://php.net/manual/en/language.operators.comparison.php.