if(isset)的替代然后这个

时间:2015-10-08 14:19:44

标签: php variables if-statement default-value

我必须做

if(isset($someval))
    $var = $someval
else 
    $var = $defaultVal 

在不同时间反复输入大量变量。还有更好的替代方案吗?

类似

$var = $someval||$defaultVal

说完我已经了解三元运营商。

2 个答案:

答案 0 :(得分:1)

使用三元运算符(?和:)可以执行以下操作:

$var = isset($someval) ? $someval : $defaultVal;

有关更多示例,请参阅http://davidwalsh.name/php-ternary-examples

答案 1 :(得分:1)

使用ternary operator

$var = ($someval) ? $someval : $defaultVal;

isset对于布尔检查是多余的,如果您想要更短的行,则不必使用。

编辑:由于OP通过问题编辑说明,在答案发布后,已经知道三元操作,甚至还有其他options考虑:

  • 如果TRUE允许省略第一个子句,则自行分配:

    $var = $someval ?: $defaultVal;

  • 使用纯逻辑表达式:

    $someval && $var = $defaultVal;