我必须做
if(isset($someval))
$var = $someval
else
$var = $defaultVal
在不同时间反复输入大量变量。还有更好的替代方案吗?
类似
$var = $someval||$defaultVal
说完我已经了解三元运营商。
答案 0 :(得分:1)
使用三元运算符(?和:)可以执行以下操作:
$var = isset($someval) ? $someval : $defaultVal;
答案 1 :(得分:1)
$var = ($someval) ? $someval : $defaultVal;
isset
对于布尔检查是多余的,如果您想要更短的行,则不必使用。
编辑:由于OP通过问题编辑说明,在答案发布后,已经知道三元操作,甚至还有其他options考虑:
如果TRUE
允许省略第一个子句,则自行分配:
$var = $someval ?: $defaultVal;
使用纯逻辑表达式:
$someval && $var = $defaultVal;