我是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
}
見Using If/Else Ternary Operators http://php.net/manual/en/language.operators.comparison.php。
這意味着,如果$頁沒有一個值(或者是零),將其設置爲 '默認'。
最後一行的更詳細的語法是:
if ($page)
{
$page = $page;
}
else
{
$page = 'default';
}
這意味着如果$ page變量是不是空的,則分配在最後一行的$頁面變量,變量或將其設置爲「默認」頁面名稱。
它被錯誤地命名爲**三元運算符,它真的只是一個**三元運算符。當然,在大多數語言中,它是唯一實現的三元運算符,但並不排除創建其他運算符需要3個參數。例如,一種語言可以有一個用於聲明函數的運算符,就像Forth的':'運算符一樣,它可以在函數名,參數列表和代碼塊上運行。這也將是一個三元運營商。 – slebetman
「條件運算符」?你不是指「三元運算符」嗎? –
這就是所謂的conditional operator。它的功能類似於if-else語句, 所以
$page = $page ? $page : 'default';
不一樣
if($page)
{
$page = $page;
}
else
{
$page = 'default';
}
參考文獻說它是三元運算符(或三元運算符?),是條件運算符之一。你能詳細說明嗎? –
這是一個ternary operation這不是PHP或WordPress的特定,它存在於大多數漢語語言。
(condition) ? true_case : false_case
因此,在這種情況下,$頁的值將是「默認」,即$頁面類似於假的東西 - 否則將保持不變。
哇!反應熱烈.. :)感謝 – jest
[參考? - 這是什麼符號在PHP意味着]可能重複(http://stackoverflow.com/questions/3737139/reference-what-does-this-symbol-mean-in- php) – outis