首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >三元运算符和if条件有区别吗?

三元运算符和if条件有区别吗?
EN

Stack Overflow用户
提问于 2011-05-13 17:37:26
回答 6查看 3.3K关注 0票数 4

php中的三元运算符和if条件有区别吗?

如果是,请提供。

EN

回答 6

Stack Overflow用户

发布于 2011-05-13 17:54:54

三元运算符是运算符,因此它构成一个表达式。因此,它将有一个值,您可以将其赋给变量或随心所欲地使用。它用于简单的情况,其中一个变量可以根据条件接受两个可能的值。

例如:$status = $age > 18 ? 'adult' : 'child';

尽管有可能,you should not nest the ternary operator

if控制结构是完全不同的。它们唯一的共同点是都评估一个条件(true/false)。if用于根据该条件的结果执行代码片段。您会发现自己大部分时间都在使用if (实际上,没有三元组也可以使用)。在某些情况下,如果您将某些类型的if替换为三元类型,则代码更少,可读性更好,例如:

代码语言:javascript
复制
if ($age > 18) {
    $status = 'adult';
} else {
    $status = 'child';
}
票数 12
EN

Stack Overflow用户

发布于 2011-05-13 17:46:52

就我个人而言,我只使用适合一行的三元运算符。如果它需要跨越,那么是时候让好的老了

代码语言:javascript
复制
 $value = ($a < 0) ? 'minus' : 'plus';

你还可以看到一个有趣的问题,多个三元是如何工作的:

unusual ternary operation

票数 2
EN

Stack Overflow用户

发布于 2018-03-22 23:58:34

If语句比三元语句更快,但在大多数情况下这无关紧要。

Here是一篇关于If语句与三元语句性能的文章。摘要:它基本上是相同的,除非你是在计算大对象,因为三元复制了被计算的对象。这是使用PHP5.3,我不确定它是否在当前版本中进行了更改。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5989982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档