我最近一直在审查很多PHP代码,并且我经常遇到这样的情况:
function () {
$var = '';
if ( ... ) {
$var = '1';
}
echo $var;
}
声明一个空变量,然后再定义。
这背后有原因吗?
我能想到这样做的唯一原因就是确保$var
在以前定义为空时开始为空。
答案 0 :(得分:5)
如果您未定义$var
且if
条件失败,则会收到undefined variable $var, assumed constant var
通知。 (E_NOTICE
)
答案 1 :(得分:2)
如果if ( ... ) {
评估为false,则永远不会定义$var
。因此,当执行echo $var
时,将显示NOTICE
,但未定义$var
。通过定义默认值可以防止出现这种情况。
答案 2 :(得分:0)
如果你没有$ var ='&#39 ;;你需要
if (isset($var)) {
echo $var;
} else {
echo '';
}
当您返回类似AJAX调用的内容时,这确实很有用。您可以将所有内容初始化为''或者错误。这样,javascript就会出错,因为它所期待的东西总是在那里,即使它是FALSE或空白。