-2

为什么我在本地服务器上执行 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*
4

4 回答 4

2

您可能会收到通知,因为您打开了调试。它可能看起来像这样:

   error_reporting(E_ALL);
   ini_set('display_errors', True);

要定义一个常量,你需要做

   define("Monday","value");

此外,用大写字母命名常量也是一个 php 约定。我建议您遵守此约定,以便在阅读代码时将常量与常规字符串区分开来。

于 2012-09-16T14:02:46.670 回答
1

这些通知可以准确地告诉您问题出在哪里。

查看 weekday.php 的第 3 行,您会看到一个您使用的地方l并意识到它是一个未定义的常量(查找常量)

您可能的意思是它是一个变量(查找变量 - 它们$l以 PHP 中的 $ 开头)或字符串常量(查找字符串 - 它们被引号包围,如"l"or 'l'

提到“星期一”,我假设你的意思是它是一个字符串。

于 2012-09-16T13:59:52.907 回答
0

是 通知意味着您有错误。如您所见,它解释了错误在哪里

于 2012-09-16T13:58:44.333 回答
0

错误和通知是有区别的。错误将停止您的脚本运行;一个通知是 PHP 告诉你你的脚本有问题,它在猜测你的实际意思。

像这样的通知:

Notice: Use of undefined constant Monday - assumed 'Monday' in C:\xampp\htdocs\weekday.php on line 6* 

意味着您正在使用类似的东西:

if ($day == Monday) .....

PHP 猜测你的意思是一个包含星期一文本的字符串,它是正确的。

您不必修复通知 - 您的代码仍会运行。但这绝对是一个好主意——它会确保你的脚本完全按照你的意图执行。

于 2012-09-16T14:02:49.297 回答