0

可能重复:
参考 - 这个符号在 PHP 中是什么意思?

我一直在用 if/else 或一年左右的时间做条件句。查看一些新代码,我看到一个似乎使用?and:而不是 if 和 else 的条件。我想了解更多关于这方面的信息,但我不确定用谷歌搜索什么来解释它是如何工作的。我该怎么做?

4

4 回答 4

6

这是三元运算符

基本用法类似于

$foo = (if this expressions returns true) ? (assign this value to $foo) : (otherwise, assign this value to $foo)

它不仅可以用于分配,它看起来像下面出现了其他示例。

我认为您在许多现代 OO 风格的 PHP 中看到这一点的原因是,如果没有静态类型,您最终需要对任何特定变量中的类型感到偏执,并且单行三进制比 7 行 if/否则有条件。

此外,为了尊重命名中的评论和真实性,请阅读有关计算机科学三元运算符的所有信息。

于 2010-10-29T19:47:57.483 回答
3

那将是条件运算符。这几乎是一行 if/then/else 语句:

if(someCondition){
    $x = doSomething();
}
else{
    $x = doSomethingElse();
}

变成:

$x = someCondition ? doSomething() : doSomethingElse();
于 2010-10-29T19:49:14.297 回答
1

这是:

健康)状况 ?do_if_true : do_if_false

因此,例如在下面,将运行 do->something()。

$true = 1;
$false = 0

$true ? $do->something() : $do->nothing();

但在下面的示例中,将运行 do->nothing()。

$false ? $do->something() : $do->nothing();
于 2010-10-29T19:49:01.537 回答
0

这是PHP 中三元运算符。它是 if/else 的简写,格式为:

condition ? true expression : false expression;
于 2010-10-29T19:48:29.767 回答