[PHP] 「Warning: Use of undefined constant - assumed」の警告が出てしまう
- PHPのバージョン変更をしたあとにサイトの表示を確認したとき、以下のようなワーニングが表示されてしまいました
Warning: Use of undefined constant - assumed ' ' (this will throw an Error in a future version of PHP) in /xxx/yyy/zzz/wp-content/themes/aaa/header.php on line 50
原因と解消方法
- 対象ファイルの該当行は以下のようになっていました
<?php if(is_home()) { ?>
- パッと見ではわかりにくいですが、「{」の後に全角のスペースが入っています
- コードの中に全角文字が入っているわけですから、これでいいわけがありません。ということで、全角スペースを半角スペースに置き換えたところ警告は表示されなくなりました
補足
- 調べてみると、このワーニングは関数の引数などに指定した文字列が「""」や「''」で囲まれていないときに表示されるものでした
- 「func(test);」←これを「func('test');」←こんな風に書かないとダメだよ、と警告してくれているわけです
- 今回のケースはクオーテーションで囲むパターンではありませんでしたが、全角スペースが悪さをしていると警告文も判読しにくいという浅めの落とし穴でした
ご質問など受け付けています
記事の中でわかりにくかったところ、もっと知りたかったこと、間違っていることなど、何でもお気軽にご連絡ください。
ご連絡は下記フォームを利用いただくか、ツイッターアカウント@flat8migi宛てでもOKです。