为什么我在本地服务器上执行php文件时会收到通知?这是否意味着我的文件中存在错误?通知如:
Notice: Use of undefined constant l - assumed 'l' in C:\xampp\htdocs\weekday.php on line 3
Notice: Use of undefined constant Monday - assumed 'Monday' in C:\xampp\htdocs\weekday.php on line 6*
答案 0 :(得分:2)
您可能会收到通知,因为您已启用调试功能。它可能看起来像这样:
error_reporting(E_ALL);
ini_set('display_errors', True);
定义你需要做的常量
define("Monday","value");
这也是一个php约定,用全大写来命名常量。我建议你坚持这个约定,这样你就可以在阅读代码时区分常量和常规字符串。
答案 1 :(得分:1)
这些通知告诉你完全问题出在哪里。
查看weekday.php的第3行,你会看到一个你使用l
的地方并意识到它是一个未定义的常量(查找常量)
你可能意味着它是一个变量(查找变量 - 它们以PHP中的$ $l
开头)或字符串常量(查找字符串 - 它们被"l"
之类的引号包围或'l'
)
提到“星期一”我会假设你认为它是一个字符串。
答案 2 :(得分:0)
是通知表示您有错误。正如您所看到的,它解释了错误的位置
答案 3 :(得分:0)
错误和通知之间存在差异。错误将阻止脚本运行;一个通知是PHP告诉你,你的脚本有一些东西,它猜测你的实际含义。
通知如下:
Notice: Use of undefined constant Monday - assumed 'Monday' in C:\xampp\htdocs\weekday.php on line 6*
意味着您使用的是:
if ($day == Monday) .....
PHP猜测你的意思是一个带有星期一文本的字符串,它是正确的。
您无需修改通知 - 您的代码仍会运行。但这样做绝对是一个好主意 - 它将确保您的脚本完全按照您的意图执行。