PHP | Uncaught TypeError: Cannot access offset of type エラーの原因と修正案

PHP,PHP エラー

PHPで発生するエラー「Uncaught TypeError: Cannot access offset of type」が発生する原因と対処・修正案について紹介しています。

Fatal error: Uncaught TypeError: Cannot access offset of type string on string in ~
致命的なエラー: キャッチされないTypeError: 文字列上の文字列型のオフセットにアクセスできません

確認環境

エックスサーバー
PHP 8.016

Uncaught TypeError: Cannot access offset of type エラーの発生原因と修正案

「Uncaught TypeError: Cannot access offset of type」というPHPエラーは文字列型の値が格納されている変数に対して連想配列型の値を呼び出そうとすると発生するエラーです。

このエラーは致命的なエラー(Fatal error)に分類されています。

例えば、以下のPHPコードのように文字列型が代入されている変数を連想配列として呼び出そうとすると「Uncaught TypeError: Cannot access offset of type」エラーが発生します。

$data = '';
echo $data['abc'];

このエラーを修正するには、呼び出している変数の値が文字列型になっていないかどうかを確認する必要があります。

また、呼び出そうとしている変数の値が数値型の場合は「Trying to access array offset on value of type int」というエラーが発生します。

PHP,PHP エラー

Posted by Yousuke.U