未定义的变量php通知解决方法?

wil*_*fun 5 php

我只是打开通知,因为它有一些我需要调试的重要信息......据说,我发现未定义的变量是一个真正的痛苦.

例如,要删除未定义的变量通知,我必须转换以下代码:

if($the_month != $row['the_month'])
Run Code Online (Sandbox Code Playgroud)

if(isset($the_month)  &&  $the_month != $row['the_month'])     
Run Code Online (Sandbox Code Playgroud)

还有另一种方法吗?这个解决方案对我来说似乎浪费时间.

kij*_*jin 9

在使用之前定义变量.这是唯一确定的方法.

许多Web主机仍然register_globals启用.这允许任何访问者通过向查询字符串添加内容将变量注入到脚本中.

例如,如果您的脚本被调用为example.php?the_month=5,则变量$the_month将自动填充为5.这可能非常危险,因为有人可能会弄乱与安全性相关的重要变量!因此,register_globals现已弃用.

但这并没有改变许多Web主机仍然启用它的事实,因此每个PHP开发人员必须在使用之前将每个变量定义为安全的东西.否则,您无法保证变量将包含您的想法.


Kie*_*ews 7

这个答案可能会有所帮助,因为它类似:

PHP:打印未定义的变量而不发出警告

例如:

您可以使用错误抑制运算符@运行它.

echo @$variable;

但是,最好不要忽略未设置的变量.未设置的变量可能表示脚本存在逻辑错误,最好确保在使用前设置所有变量.