PHPエラー「PHP Notice: Use of undefined constant」の原因と解決方法

PHPプログラミングをしていると、

PHP Notice: Use of undefined constant htmlspecialchars - assumed 'htmlspecialchars'

というエラーに遭遇した。

エラーメッセージを直訳すると、以下の意味のようになる。

PHP 注意:未定義の定数『htmlspecialchars』は、『'htmlspecialchars'』と思われる。

このことから、このPHPエラーの原因は、シングルクォーテーション(')を付けていないことであると考えられ、エラーを解決するには、値の前後にシングルクォーテーション(')を付ければよい、と推測できる。

このエラーメッセージをヒントに、エラーが発生しているプログラム行を確認すると、以下のようになっていた。

$_POST = array_map(htmlspecialchars,$_POST);

htmlspecialcharsは関数だが、array_map関数の第1引数にセットする場合、シングルクォーテーション(')で囲む必要があるようだ。

修正前>
$_POST = array_map(htmlspecialchars,$_POST);

<修正後>
$_POST = array_map('htmlspecialchars',$_POST);

修正後のプログラムでは、PHP Notice エラーは発生しなくなった。

array_map関数だけの問題ではないかと思うが、関数や定数を引数にセットする場合、シングルクォーテーション(')で囲む、囲まないについて注意しなくてはならないと思った。

  

前へ

DDI Pocket時代から使用していたPHSを携帯電話に変更した

次へ

PHPエラー「PHP Fatal error: Call to undefined function mb_substr_count()」の原因と解決方法