PHP简化三元操作

时间:2010-06-13 23:43:19

标签: php ternary-operator

在PHP中,有没有办法在不使用if()

的情况下进一步简化此操作
$foo = $bar!==0 ? $foo : '';

我想知道如果条件满足,是否有办法不将$foo重新分配给自己。我知道有一种方法可以在Javascript(使用&&,对吗?)中执行此操作,但是想知道是否有办法在PHP中执行此操作。

2 个答案:

答案 0 :(得分:9)

在PHP 5.3中,三元运算符的缩写终于到了,所以你可以做到以下几点。

$foo = $bar ?: '';

参见the Comparison Operators部分 - “从PHP 5.3开始,可以省略三元运算符的中间部分。表达式expr1?:expr3如果expr1的计算结果为TRUE则返回expr1,否则返回expr3。” p>

答案 1 :(得分:5)

是的,您也可以在PHP中使用逻辑和(&&)运算符。

$bar === 0 && $foo = '';