2011-09-03 131 views
3

有人能告訴我這個php語句中的條件是什麼?PHP條件返回語句?

return $node->type == 'article' ? mymodule_page_article($node) : mymodule_page_story($node); 

對不起,如果這是不是要問這樣一個簡單的問題的地方,但我發現很難查找特定的代碼結構(特別是當我不知道它的名字)。

回答

7

這是一個ternary operator

這相當於

if($node->type == 'article') { 
    return mymodule_page_article($node); 
} else { 
    return mymodule_page_story($node); 
} 

它的作用是:如果?前的東西是真實的,返回第一條(?:之間的東西)的表達式的結果。如果它是假的,那麼它返回第二個子句的結果(:之後的內容)。

0

這是一個三元表達式。

條件爲$節點 - >類型==「文章」,如果這是真的它mymodule_page_article($節點)其他mymodule_page_story($節點)

0

如果節點類型等於「文章」做mymodule_page_article($node) ,如果是不相等的,那麼做mymodule_page_story($node)

2

這是三元運算符?:和可以擴展如下:

if ($node->type == 'article') { 
    return mymodule_page_article($node); 
} else { 
    return mymodule_page_story($node); 
} 
1

這相當於:

if($node->type == 'article') 
{ 
    return mymodule_page_article($node); 
} 
else 
{ 
    return mymodule_page_story($node); 
} 

這被稱爲三元運算符。有關詳細信息,請參閱此處的部分:http://www.php.net/operators.comparison