1

我通常设置我所有的变量,即使它们可能不会返回任何东西。但现在我想知道:

如果我回显一个空变量会有什么危害?

例如。

<?php

$a = 'a';
$b = 'b';

if($a==$b)
{
$data = 'Yes they where the same';
};


echo $data;

?>

为什么我必须这样做?

<?php

$data = ''; // declare varibale
$a = 'a';
$b = 'b';

if($a==$b)
{
$data = 'Yes they where the same';
};


echo $data;

?>

感谢您的回答!

扩展问题:

什么是最佳实践:

$data = '';

或者

$data;

或使用

if (isset($data)){
echo $data;
}
4

4 回答 4

4

如果我回显一个空变量会有什么危害?

如果您尚未定义它,则没有“空”变量。所以你试图输出一些不存在的东西。显然它没有任何意义并引起通知(尝试使用 运行脚本E_ALL

于 2011-11-27T23:09:00.040 回答
3

简短的回答:避免不必要的错误和通知。

详细的答案已在此处此处进行了阐述。

于 2011-11-27T23:10:47.877 回答
1

通常,如果您不允许像之前声明的那样使用不存在的变量,那会更好,因为这会抑制一整类错误。想象一下,如果你有一个变量$foo,后来你输入错误$eoo$eoo没有任何价值(默认值除外),但您的程序将毫无怨言地运行。这会使程序非常难以调试。要求在使用变量之前(当然,不仅仅是有条件地)声明变量可以让编译器捕获大量错误。

于 2011-11-27T23:09:05.833 回答
1

它不会造成任何伤害,但会向您显示以下通知:

PHP注意:未定义变量:数据在线

于 2011-11-27T23:09:44.000 回答