PHP8でエラー発生 Warning: Undefined array key【解決】



1年以上前にPHP 8.0にアップグレードしたらエラー祭りとなり断念。

再びアップグレードしてみました。

当サイトは問題がなかったのですが、旅行サイトでエラー発生。

配列エラー。

Warning: Undefined array key 5 in (略) /functions.php on line 35

PHPを修正

functions.phpを確認したら「文中の見出しh2の直前に広告を配置」のコードがエラーになっていました。

「if」だけだと指定先に<h2>が無い場合はエラーになります。

if ( $h2s[0][1] )

それをisset関数を使って「<h2>がない場合もtrueにしろ」命令を下したらエラーが消えました。

if(isset ( $h2s[0][1] ))

※もしかしたらempty関数でも良いかも?

ちなみに7.4のサポートは終了

PHP 7.4

既に2022年11月28日でセキュリティサポートが終了しています。
CocoonなどのWordPressテーマもPHP 8に対応していますので、早めにアップグレードした方が良いかも。

ちなみに、不具合があった場合でも、エラーを隠すコードは使わない方が良いと思います。
その都度対応、もしくはダウングレードをおすすめ。

error_reporting(0);

PHP 8.0

既に2022年11月26日でアクティブサポートが終了しているので、もう修正はありません。
2023年11月26日にはセキュリティサポートが終了します。

PHP 8.1

2023年11月25日にアクティブサポート終了。

なんだかPHPのリリーススピードに全然追いつけない感じ。

参照:PHP: Supported Versions