タイトル: Warning: Use of undefined constant ... - assumed '...' (this will throw an Error in a future version of PHP) in ....php on line ...
SEOタイトル: Use of undefined constant の原因と対処法
Warning: Use of undefined constant ... - assumed '...' は、文字列として書くべき値をクォートなしで書いてしまったときによく出る警告です。
古い PHP では警告で済むことがありましたが、後のバージョンでは厳しく扱われるため、早めに直しておく方が安全です。
エラー内容
Warning: Use of undefined constant ... - assumed '...' (this will throw an Error in a future version of PHP)
発生条件 / 原因
- 文字列をシングルクォートやダブルクォートで囲っていない
- 本来定数として使うつもりだったが、定義されていない
- 配列キーや比較対象の値を裸で書いている
対処法
文字列ならクォートで囲み、定数として使うなら事前に定義します。
// NG
if ($type == admin) {
}
// OK
if ($type == 'admin') {
}
確認したいポイント
- 変数名と文字列を取り違えていないか
- 配列キーを
$row[name]のように書いていないか - PHP のバージョンを上げたことで警告が目立つようになっていないか