PHP | [] operator not supported for strings エラーの原因と修正案

PHP,PHP エラー

PHPでエラー「[] operator not supported for strings」が発生する原因と対処・修正案について紹介しています。

Fatal error: Uncaught Error: [] operator not supported for strings in ~
致命的なエラー: キャッチされていないエラー: [] 演算子は文字列に対してサポートされていません

確認環境

エックスサーバー
PHP 8.016

[] operator not supported for strings エラーの発生原因

「[] operator not supported for strings」というPHPエラーは文字列型として定義されている変数に対して鉤括弧 [] を使って配列の値を追加しようとした際に発生するエラーです。

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

例えば、文字列型として定義した変数 $a に鉤括弧 [] で配列を追加しようとすると、同エラーが発生します。

$a = '';
$a[] = 'Apple';

// Fatal error: Uncaught Error: [] operator not supported for strings in ~

[] operator not supported for strings エラーの修正案

「[] operator not supported for strings」エラーを修正するには、配列の値を追加しようとしている変数が配列として定義されているかどうかを確認する必要があります。

$a = [];
$a[] = 'Apple';

また、array_push()関数で文字列型の変数に配列の値を追加しようとした場合は別途「array_push(): Argument #1 ($array) must be of type array, string given」のエラーが発生します。

PHP,PHP エラー

Posted by Yousuke.U