好吧,我必须删除现有PHP 5.4脚本的警告,我不确定如何正确处理以下问题。
我有一个像
这样的源代码if ($start_id_minus >= 0)
{
$tmp_link = $link."&id=$start_id_minus";
$tmp_html_previous .= "<a href='$tmp_link'><< previous</a> ";
}
会产生类似"Notice: Undefined variable: $tmp_html_previous in <5 lines below>"
所以我要做的就是在“if”之前初始化变量。 在这种情况下,很明显$ tmp_html_previous是一个字符串,所以我能做的是:
$tmp_html_previous = '';
但是我有很多类似的情况,变量的“类型”对我来说并不明显。那么如何正确初始化这些变量呢?用NULL? 0?用''?完全没有:var $ tmp;?
答案 0 :(得分:0)
0
是您要进行数学运算的任何变量的明显初始值
true
或false
是“布尔变量”的明显初始值
对于其他任何事情,null
都是一个很好的初始值。
答案 1 :(得分:0)
在这种情况下,因为它看起来好像你正在构建一个字符串,所以你可以使用:
$tmp_html_previous = '';
或者:
$tmp_html_previous = NULL;
如果$ tmp_html_previous是布尔值,您可以将默认值设置为true或false。
$tmp_html_previous = false;
如果您正在进行计算:
$tmp_html_previous = 0;
基本上,这完全取决于你的应用程序的逻辑。
答案 2 :(得分:-1)
无论你想要什么,类型都会自动改变,因为PHP没有强类型。
答案 3 :(得分:-1)
无论要初始化什么;如果担心追加执行它的字符串string
:
$tmp = isset($tmp) ? $tmp : '';
但是,null
始终是明显的解决方案。