PHP条件返回语句?

4
有人能告诉我这个 PHP 语句中的条件是什么吗?
return $node->type == 'article' ? mymodule_page_article($node) : mymodule_page_story($node);

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

6个回答

10

这是一个三元运算符

它等同于

if( $node->type == 'article' ) {
    return mymodule_page_article($node);
} else {
    return 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


0

这是一个三元表达式。

条件是 $node->type == 'article',如果为真,则执行 mymodule_page_article($node),否则执行 mymodule_page_story($node)。


0
如果节点类型等于“article”,则执行 mymodule_page_article($node),如果不等于,则执行 mymodule_page_story($node)

0

使用三元运算符

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接