在 C 或 Perl 这些程式语语, 在使用变量前需要先进行宣告, 而 PHP 则不需要宣告变量, 可以直接使用变量。
PHP 不需要宣告变量仍可执行, 只要在某些主机会出现 Warning, 例如:
|
1 2 3 4 5 |
<?php $new_value = $test + 100; echo $new_value; ?> |
上面程式码并未宣告变量 $test, 所以会出现错误 “Notice: Undefined variable: test”, 但由于这个只是 warning, 所以程式会继续执行, 除了显示错 warning 外, 也会显示 100 的执行结果:
Notice: Undefined variable: test in /var/www/html/test.php on line 2
100
100
如果在 PHP 程式码的层面解决, 方法是在使用 $test 变量前先宣告, 由于 PHP 会自动转换变量类型, 所以以下两种方法也可以:
$test = 0;
或
$test = “”;
例如改成这样便不会出错 warning 了:
|
1 2 3 4 5 6 |
<?php $test = 0; $new_value = $test + 100; echo $new_value; ?> |
另一个 warning 是 “Notice: Undefined index”, 这个跟未宣告变量差不多, 只是今次没有宣告的是阵列的内容, 解决方法跟上面一样。
如果不想每个 PHP 档案一同修改, 也可以修改 php.ini, 开启档案 php.ini, 找到 error_reporting, 改成这样:
error_reporting = E_ALL & ~E_NOTICE
或者找到 display_errors, 将它设定为 Off:
display_errors = Off
上面两个设定只要改其中一个便可以, 然后重新启动网页服务器便会生效。但上面两个设定只建议在生产环境使用, 如果在测试或开发环境上, 打开对程式码除错会更方便。