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

Kri*_*dis 1 php syntax conditional-statements

如何创建更短的表达式:

$variable = @$array["property"] ? $array["property"] : DEFAULT_VALUE_CONSTANT;
Run Code Online (Sandbox Code Playgroud)

对于这样的事情:

$variable = @$array["property"] || DEFAULT_VALUE_CONSTANT;
Run Code Online (Sandbox Code Playgroud)

现在我得true/false

rra*_*ray 9

是的,在PHP7中可以使用Null合并运算符(??)

$variable = $array["property"] ?? DEFAULT_VALUE_CONSTANT;
Run Code Online (Sandbox Code Playgroud)

如果您使用PHP版本<7,则使用elvis运算符

$variable = $array["property"] ?: DEFAULT_VALUE_CONSTANT;
Run Code Online (Sandbox Code Playgroud)

请避免使用@而不是isset().

参考文献:

PHP中的?:运算符('Elvis运算符')