3

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

$page = $_SERVER['REQUEST_URI'];
$page = str_replace("/","",$page);
$page = str_replace(".php","",$page);
$page = $page ? $page : 'default'
4

7 回答 7

7

那是三元运算符

那条线翻译成

if ($page)
    $page = $page;
else
    $page = 'default';
于 2010-01-20T08:11:04.077 回答
6

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

这是以下的简写版本:

if (something is true ) {
    Do this
}
else {
    Do that
}

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

于 2010-01-20T08:13:54.320 回答
3

这是一个三元运算,不是 PHP 或 WordPress 特定的,它存在于大多数语言中。

(condition) ? true_case : false_case 

所以在这种情况下,当 $page 类似于 false 时,$page 的值将是“默认”——否则它将保持不变。

于 2010-01-20T08:13:11.137 回答
2

这意味着如果 $page 没有值(或为零),请将其设置为 'default'。

于 2010-01-20T08:11:23.103 回答
1

最后一行更详细的语法是:

if ($page)
{
    $page = $page;
}
else
{
    $page = 'default';
}
于 2010-01-20T08:11:56.800 回答
1

这意味着如果 $page 变量不为空,则在该变量的最后一行分配 $page 变量或将其设置为“默认”页面名称。

它被称为条件运算符

于 2010-01-20T08:12:22.170 回答
0

这就是所谓的条件运算符。它的功能类似于 if-else 语句,所以

$page = $page ? $page : 'default';

if($page)
{
    $page = $page;
}
else
{
    $page = 'default';
}
于 2010-01-20T08:13:01.373 回答