为什么我在本地服务器上执行 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*
为什么我在本地服务器上执行 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*
您可能会收到通知,因为您打开了调试。它可能看起来像这样:
error_reporting(E_ALL);
ini_set('display_errors', True);
要定义一个常量,你需要做
define("Monday","value");
此外,用大写字母命名常量也是一个 php 约定。我建议您遵守此约定,以便在阅读代码时将常量与常规字符串区分开来。
这些通知可以准确地告诉您问题出在哪里。
查看 weekday.php 的第 3 行,您会看到一个您使用的地方l
并意识到它是一个未定义的常量(查找常量)
您可能的意思是它是一个变量(查找变量 - 它们$l
以 PHP 中的 $ 开头)或字符串常量(查找字符串 - 它们被引号包围,如"l"
or 'l'
)
提到“星期一”,我假设你的意思是它是一个字符串。
是 通知意味着您有错误。如您所见,它解释了错误在哪里
错误和通知是有区别的。错误将停止您的脚本运行;一个通知是 PHP 告诉你你的脚本有问题,它在猜测你的实际意思。
像这样的通知:
Notice: Use of undefined constant Monday - assumed 'Monday' in C:\xampp\htdocs\weekday.php on line 6*
意味着您正在使用类似的东西:
if ($day == Monday) .....
PHP 猜测你的意思是一个包含星期一文本的字符串,它是正确的。
您不必修复通知 - 您的代码仍会运行。但这绝对是一个好主意——它会确保你的脚本完全按照你的意图执行。