php if/else shorthand 失败
php if/else shorthand fail
普通表达式可以正常工作,shorthand 不行。我哪里错了?
if (isset($var)) $value = $var;
elseif ($str !== 'string') $value = $str;
else $value = null;
// works just fine
$value = (isset($var)) ? $var : ($str !== 'string') ? $str : null;
// only returns $value = $str
谢谢
尝试在第二个 shorthand 块周围使用一组额外的括号,$value = (isset($var)) ? $var : (($str !== 'string') ? $str : null);
添加了这条边注...
虽然尝试将代码压缩成一行很有趣,但通常最好将代码写出来以便于阅读。您的代码行很紧凑,但需要一段时间才能消化,而...
if (isset($var)) {
$value = $var;
}
else if ($str !== 'string') {
$value = $str;
}
else {
$value = null;
}
... 非常清楚发生了什么 - 几个月后当你回顾你的代码时你会感谢自己:)
普通表达式可以正常工作,shorthand 不行。我哪里错了?
if (isset($var)) $value = $var;
elseif ($str !== 'string') $value = $str;
else $value = null;
// works just fine
$value = (isset($var)) ? $var : ($str !== 'string') ? $str : null;
// only returns $value = $str
谢谢
尝试在第二个 shorthand 块周围使用一组额外的括号,$value = (isset($var)) ? $var : (($str !== 'string') ? $str : null);
添加了这条边注...
虽然尝试将代码压缩成一行很有趣,但通常最好将代码写出来以便于阅读。您的代码行很紧凑,但需要一段时间才能消化,而...
if (isset($var)) {
$value = $var;
}
else if ($str !== 'string') {
$value = $str;
}
else {
$value = null;
}
... 非常清楚发生了什么 - 几个月后当你回顾你的代码时你会感谢自己:)