-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、未定義の定数を使用している場所が表示されます (定数を調べます)。

おそらく、変数 (変数を検索 - PHP のように $ で始まる) または文字列定数 (文字列を検索 -または$lのように引用符で囲まれている)を意味している可能性があります。"l"'l'

「Monday」について言及すると、文字列を意味していると思います。

于 2012-09-16T13:59:52.907 に答える
0

エラーと通知には違いがあります。エラーが発生すると、スクリプトの実行が停止します。通知とは、スクリプトに問題があることを PHP が通知することであり、実際の意図を推測しています。

次のような通知:

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

次のようなものを使用していることを意味します。

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

PHP は、Monday というテキストを含む文字列を意味していると推測していますが、その通りです。

通知を修正する必要はありません。コードは引き続き実行されます。しかし、そうするのは間違いなく良い考えです。そうすることで、スクリプトが意図したとおりに正確に実行されるようになります。

于 2012-09-16T14:02:49.297 に答える
0

はい 通知は、エラーがあることを意味します。ご覧のとおり、エラーの場所を説明しています

于 2012-09-16T13:58:44.333 に答える