フリーランス|WEB 制作経験丸7年、制作会社様からのご依頼に丁寧・高クオリティでお手伝いいたします。 IRODORI DESIGN

B L O G

【PHPエラー】Warning: Use of undefined constantの解決方法

PHP
Warning: Use of undefined constant
エラー
トラブルシューティング
プログラミング

こんにちは、岐阜・名古屋を拠点に全国各地からご依頼いただくWEBサイトを制作しているフリーランスエンジニアの寺井です。

PHPでプログラムを作っていると突然表示されるエラー文章。突然エラーが表示されると焦ってしまいますよね。
この記事ではWarning: Use of undefined constantというPHPでプログラムを作っているとよく発生するエラーについて原因と、解決方法を解説します。

Warning: Use of undefined constantとは

早速ですが、このエラーについて、実際にどのように表示されるのか見ていきましょう。

arning: Use of undefined constant ●● - assumed '▲▲' (this will throw an Error in a future version of PHP) in ■■ on line ××

Warning: Use of undefined constantはこのように表示されます。
上の例の●●、▲▲、■■、××はそれぞれ以下のようなことを教えてくれています。

  • ●●:間違っている記述
  • ▲▲:正しい記述
  • ■■:誤った記述がされている「ディレクトリ名/ファイル名」
  • ××:エラーの原因となる●●が書かれている行数

具体的には「■■ファイルの××行目に書かれている●●は記述が間違っていて’▲▲’のようにシングルクォーテーション、またはダブルクォーテーションで囲う必要があるよ」ということを教えてくれているエラーメッセージとなっています。

エラーが表示される原因・具体例

このWarning: Use of undefined constantは未定義の定数・変数が使用されている際に表示されるエラーとなっていて、PHPをバージョンアップした際によく表示されるエラーです。
今までは厳密には文法上、間違っているがPHPが頑張って動いていてくれたけど、PHPのバージョンがアップしたことにより、より厳密にプログラミングしないといけなくなり、突然表示されるようになります。

<?php
echo $BLOG[key] = "【PHPエラー】Warning: Use of undefined constantの解決方法";
?>

このような記述をしているとPHPのバージョンによってはWarning: Use of undefined constantが表示されます。

Warning: Use of undefined constantの解決方法

上で書いた通りWarning: Use of undefined constantはPHPのバージョンが変わったことにより、今まではよかった記述が厳密化されたことによりエラー表示されるというものなので、指摘されている個所を正しく記述しなおすことで解決出来ます。

先ほどの例の場合には以下のように変更することで解決出来ます。

<?php
echo $BLOG['key'] = "【PHPエラー】Warning: Use of undefined constantの解決方法";
?>

[key]となっていた部分を[‘key’]のようにシングルクォーテーションで囲ってあげました。たったこれだけです。
配列のキー部分をシングルクォーテーション、またはダブルクォーテーションで囲ってあげるだけで解決出来ます。

PHPバージョンアップによる起こるその他のエラー

PHPをバージョンアップすることにより起こるエラーはWarning: Use of undefined constantの他にもいくつか存在しています。
以下でご紹介していますのでご自身のWEBサイトで起こっているエラーがあれば合わせて確認してみて下さい。

まとめ

いかがでしたか?
PHPをバージョンアップすることにより、記述がより厳密化されたことにより、エラーが表示されるようになることは多々あります。
PHPをバージョンアップする際は、事前にテスト環境などで検証の上、バージョンアップしたいですね。