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 に値がない場合 (またはゼロの場合)、「デフォルト」に設定することを意味します。

于 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 に答える