php中的三元运算符是否有更短的语法?

时间:2016-03-28 13:08:10

标签: php syntax conditional-statements

如何创建更短的表达式:

$variable = @$array["property"] ? $array["property"] : DEFAULT_VALUE_CONSTANT;

对于这样的事情:

$variable = @$array["property"] || DEFAULT_VALUE_CONSTANT;

现在我得到true / false

1 个答案:

答案 0 :(得分:9)

是的,PHP7可以使用Null coalescing operator??

$variable = $array["property"] ?? DEFAULT_VALUE_CONSTANT;

如果您使用的是PHP版本< 7一个解决方案是使用elvis operator

$variable = $array["property"] ?: DEFAULT_VALUE_CONSTANT;

请避免使用@代替isset()

<强>参考文献:

?: operator (the 'Elvis operator') in PHP