WordPressやPHPを使っていると、突然次のようなエラーに出くわすことがあります。
Fatal error: Array and string offset access syntax with curly braces is no longer supported in…

これは、PHPのバージョン7.4以降で非推奨となった構文を使っていることが原因です。
具体的には、配列や文字列の要素にアクセスする際に「波かっこ {}」を使っているコードがある場合に発生します。


このエラーの原因は?
PHP 7.4からは、以下のような書き方がサポートされなくなりました。
phpコピーする編集する// 古い書き方(NG)
$string = "example";
$char = $string{2}; // PHP 7.4以降ではエラーになります
代わりに、角かっこ [] を使う必要があります。
phpコピーする編集する// 新しい書き方(OK)
$string = "example";
$char = $string[2]; // 正しい構文
同様に、配列のアクセスでも波かっこは使用できません。
解決方法
- エラーが発生しているファイルを確認
エラーメッセージには、どのファイルの何行目でエラーが出ているかが記載されています。まずはそのファイルを開きましょう。 - 波かっこ
{}を角かっこ[]に修正
例えば以下のようなコードを…
phpコピーする編集する$array = array("apple", "banana");
echo $array{0}; // NG
次のように書き換えます。
phpコピーする編集するecho $array[0]; // OK
- プラグインやテーマに原因がある場合は?
自作ではなく、外部のプラグインやテーマが原因でこのエラーが出ている場合、最新版にアップデートすることで解決することがあります。
もし更新が提供されていない場合は、開発元に問い合わせるか、自分でコードを書き換える必要があります(バックアップを忘れずに!)。
一時的な対処法(非推奨)
どうしても修正できない場合、PHPのバージョンを7.3以下に下げることで一時的にエラーを回避できます。
ただしこれはセキュリティ的におすすめできません。根本的にはコード修正が必要です。
まとめ
このエラーは、PHPの仕様変更により発生する「コードの古さ」が原因です。
今後もPHPは進化し続けるため、互換性のあるコードを書くことが重要です。
今回のような場合は、波かっこ {} を角かっこ [] に書き換えるだけで多くの問題が解決します。
安全で安定した運用のためにも、定期的にコードのメンテナンスとPHPのバージョンチェックを行いましょう。

飯田市でホームページ制作・広告運用をサポート|デザインスタジオiR
牧内理恵
まきうちりえ
飯田市在住、広告制作歴20年以上。これまで200名以上のクライアント様と向き合い、100件以上のサイト制作を手掛けてきたデザイナー兼エンジニアの牧内理恵です。御社の強みを引き出し、業績アップに繋がるWebサイト・ネットショップ・販促ツールをご提案します。拠点とする長野県内はもちろん、全国各地からのご依頼にも柔軟に対応しております。
「相談してよかった」と言っていただける、飯田下伊那地域のパートナーとして。
長野県飯田市を拠点に、ホームページ制作やECサイト構築、Web運用のトラブル解決を承っています。20年以上のキャリアで培った「伝わるデザイン」と「確かな技術」で、御社の業績アップを支えます。飯田・下伊那エリアはもちろん、全国からのオンライン相談も大歓迎です。
「ホームページを作りたい」「ホームページをリニューアルしたい」といったご依頼もお気軽にお声がけください。
※強引な勧誘は一切ありませんので、安心してお悩みをお聞かせください。


