‘:’的含义和'?'
可能的重复:
php 中的代码“:”
我经常看到很多php代码使用? 和:,但我实际上不明白它的用途。这里有一个例子:
$selected = ($key == $config['default_currency']) ? ' selected="selected"' : '';
有人可以帮我澄清一下吗? :)
Possible Duplicate:
the code “ : ” in php
I often see a lot of php code using ? and :, but I don't actually understand what it is for. Here an example:
$selected = ($key == $config['default_currency']) ? ' selected="selected"' : '';
Can someone clear me up, please? :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
这是三元运算符。它基本上是一行 if / else 。
例如,这些行 :
可以通过以下行缩短:
它可以使代码更易于阅读如果您不滥用它。
It's the ternary operator. It's basically a if / else on one line.
For example, those lines :
can be shortened by this line :
It can make code easier to read if you don't abuse it.
如果
condition
为 true,则计算结果为val1
;如果condition
为 false,则计算结果为val2
。从 PHP 5.3 开始,您可能还会看到一种更加晦涩的形式,省略了
val1
:如果
val0
计算结果为非 false,则计算结果为val0
value,或val2
否则。哎呀!请参阅http://php.net/manual/en/language.operators.comparison。 php
evaluates to
val1
ifcondition
is true, orval2
ifcondition
is false.Since PHP 5.3, you may also see an even more obscure form that leaves out
val1
:evaluates to
val0
ifval0
evaluates to a non-false value, orval2
otherwise. Yikes!See http://php.net/manual/en/language.operators.comparison.php
它是 if 语句的简写,
您可以将该语句变成这样:
It's shorthand for an if statement
You can turn that statement into this:
它是三元条件运算符,就像在 C 中一样。
您的代码相当于:
It's the ternary conditional operator, just like in C.
Your code is equivalent to:
在伪代码中,
映射到
In pseudocode,
maps to