私はPHPが初めてです。WordPressでこの構文に出会いました。そのコードの最後の行は何をしますか?
$page = $_SERVER['REQUEST_URI'];
$page = str_replace("/","",$page);
$page = str_replace(".php","",$page);
$page = $page ? $page : 'default'
私はPHPが初めてです。WordPressでこの構文に出会いました。そのコードの最後の行は何をしますか?
$page = $_SERVER['REQUEST_URI'];
$page = str_replace("/","",$page);
$page = str_replace(".php","",$page);
$page = $page ? $page : 'default'
これは、PHP の条件演算子の例です。
これは、次の省略形です。
if (something is true ) {
Do this
}
else {
Do that
}
If/Else 三項演算子の使用 http://php.net/manual/en/language.operators.comparison.phpを参照してください。
これは、PHP や WordPress 固有ではない三項演算であり、ほとんどの言語に存在します。
(condition) ? true_case : false_case
したがって、この場合、$page が false に似ている場合、$page の値は「デフォルト」になります。それ以外の場合は変更されません。
$page に値がない場合 (またはゼロの場合)、「デフォルト」に設定することを意味します。
最後の行のより詳細な構文は次のとおりです。
if ($page)
{
$page = $page;
}
else
{
$page = 'default';
}
$page 変数が空でない場合、その変数の最後の行に $page 変数を割り当てるか、「デフォルト」のページ名に設定することを意味します。
それがいわゆる条件演算子です。if-else ステートメントのように機能するので、
$page = $page ? $page : 'default';
と同じことをします
if($page)
{
$page = $page;
}
else
{
$page = 'default';
}