如何通过PHP初始化/解释未定义的变量?

时间:2012-09-10 07:38:50

标签: php variables initialization

好吧,我必须删除现有PHP 5.4脚本的警告,我不确定如何正确处理以下问题。

我有一个像

这样的源代码
if ($start_id_minus >= 0)
{
    $tmp_link = $link."&id=$start_id_minus";
    $tmp_html_previous .= "<a href='$tmp_link'><<&nbsp;previous</a>&nbsp;";
}

会产生类似"Notice: Undefined variable: $tmp_html_previous in <5 lines below>"

的通知

所以我要做的就是在“if”之前初始化变量。 在这种情况下,很明显$ tmp_html_previous是一个字符串,所以我能做的是:

$tmp_html_previous = '';

但是我有很多类似的情况,变量的“类型”对我来说并不明显。那么如何正确初始化这些变量呢?用NULL? 0?用''?完全没有:var $ tmp;?

4 个答案:

答案 0 :(得分:0)

0是您要进行数学运算的任何变量的明显初始值 truefalse是“布尔变量”的明显初始值 对于其他任何事情,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始终是明显的解决方案。