我必须在PHP中声明我的变量吗?

时间:2011-11-27 23:04:51

标签: php variables set declare

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

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

例如

<?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 个答案:

答案 0 :(得分:4)

  

如果我回应一个空的varibale会有什么害处?

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

运行脚本

答案 1 :(得分:3)

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

herehere已经阐述了很长的答案。

答案 2 :(得分:1)

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

答案 3 :(得分:1)

它不会造成任何伤害,但它会告诉你这个通知:

  

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