2011-09-03 133 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