有人能告诉我这个php语句中的条件是什么?PHP条件返回语句?
return $node->type == 'article' ? mymodule_page_article($node) : mymodule_page_story($node);
对不起,如果这是不是要问这样一个简单的问题的地方,但我发现很难查找特定的代码结构(特别是当我不知道它的名字)。
有人能告诉我这个php语句中的条件是什么?PHP条件返回语句?
return $node->type == 'article' ? mymodule_page_article($node) : mymodule_page_story($node);
对不起,如果这是不是要问这样一个简单的问题的地方,但我发现很难查找特定的代码结构(特别是当我不知道它的名字)。
这是一个ternary operator。
这相当于
if($node->type == 'article') {
return mymodule_page_article($node);
} else {
return mymodule_page_story($node);
}
它的作用是:如果?
前的东西是真实的,返回第一条(?
和:
之间的东西)的表达式的结果。如果它是假的,那么它返回第二个子句的结果(:
之后的内容)。
这是一个三元表达式。
条件为$节点 - >类型==“文章”,如果这是真的它mymodule_page_article($节点)其他mymodule_page_story($节点)
如果节点类型等于“文章”做mymodule_page_article($node)
,如果是不相等的,那么做mymodule_page_story($node)
这是三元运算符?:
和可以扩展如下:
if ($node->type == 'article') {
return mymodule_page_article($node);
} else {
return mymodule_page_story($node);
}
这相当于:
if($node->type == 'article')
{
return mymodule_page_article($node);
}
else
{
return mymodule_page_story($node);
}
这被称为三元运算符。有关详细信息,请参阅此处的部分:http://www.php.net/operators.comparison