PHP条件返回语句?

时间:2011-09-03 00:04:27

标签: php conditional

有人能告诉我这个php语句中的条件是什么吗?

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

我很抱歉,如果这不是一个问这么简单的问题的地方,但我发现很难查找特定的代码结构(特别是当我不知道它的名字时)。

5 个答案:

答案 0 :(得分:8)

这是ternary operator

相当于

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

它的作用是:如果?之前的内容为真,则返回第一个子句中表达式的结果(?:之间的内容)。如果它是假的,那么它返回第二个子句的结果(:之后的东西)。

答案 1 :(得分:2)

这是三元运算符?:,可以扩展如下:

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

答案 2 :(得分:1)

这相当于:

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

这称为三元运算符。有关详情,请参阅此处的相关部分:http://www.php.net/operators.comparison

答案 3 :(得分:0)

这是一个三元表达。

条件是$ node-> type =='article'如果它是真的,它会mymodule_page_article($ node),否则mymodule_page_story($ node)

答案 4 :(得分:0)

如果节点的类型等于'article',请mymodule_page_article($node),如果它不相等,那么执行mymodule_page_story($node)