PHP替代三元运算符

时间:2011-10-26 09:50:46

标签: php javascript ternary-operator

在JavaScript中,您可以使用以下代码:

var = value || default;

除了三元运算符之外,PHP中是否存在等价物:

$var = ($value) ? $value : $default;

差异只需要写一次$value吗?

4 个答案:

答案 0 :(得分:16)

自php 5.3起 $var = $value ?: $default

答案 1 :(得分:5)

$var = $value or $var = $default;

答案 2 :(得分:1)

另一个繁琐的解决方法(与5.3之前兼容)将是:

$var = current(array_filter(array($value, $default, $default2)));

但是,如果您有多个可能的值或默认值,那么这确实是可取的。 (实际上不会节省打字,而不是紧凑的语法替代,只是避免两次提及$value。)

答案 3 :(得分:0)

5.3或5.3我会写。

$var = 'default';
if ($value) $var = $value;

因为我讨厌只写结构。