ある案件でPHPのバージョンを7.4からPHP8.1に上げた際に以下のエラーが発生しました。
Attempt to read property “〇〇” on array
「Attempt to read property」というエラーはアロー演算子でプロパティの値を取得しようとした際に存在しないプロパティを指定すると発生します。
例えば以下のように本来は配列型の値なのにオブジェクト型として取得しようとするとエラーがでます。
$hoge = ["id" => 1];
$hoge->id
//エラー
Attempt to read property “id” on array
もし取得しようとしている値が配列型の場合は以下のように値にアクセスします。
$hoge["id"];