エラーの理解:「致命的なエラー: [] 演算子は文字列ではサポートされていません」
データベース内のデータを変更しようとすると、 「[] 演算子は文字列ではサポートされていません」エラーが発生しました。このエラーは、文字列に対して短い配列プッシュ構文を使用しようとしたことを示します。
根本原因:
コードを確認すると、1 つ以上の初期化が行われたようです。変数 ($name、$date、$text、$date2) を文字列として返します。これは、文字列値である $row[''] 値の割り当てから明らかです。
解決策:
この問題を解決するには、次の変更を行う必要があります。
$name = $row['name']; $date = $row['date']; $text = $row['text']; $date2 = $row['date2'];
への代入:これにより、これらの変数は文字列ではなく文字列として扱われるようになります。 arrays.
PHP 7 の厳密性について:
PHP 7 では、空のインデックス配列プッシュ構文の使用についてより厳密な制御が行われています。配列ではない変数に使用しようとすると、エラーがスローされます。
PHP 7 での有効な空インデックス配列プッシュ構文の例:
$previouslyUndeclaredVariableName[] = 'value'; // creates an array and adds an entry $emptyArray = []; // creates an array $emptyArray[] = 'value'; // pushes in an entry
ただし、以下の場合は致命的なエラーが発生します:
$declaredAsString = ''; $declaredAsString[] = 'value'; $declaredAsNumber = 1; $declaredAsNumber[] = 'value'; $declaredAsObject = new stdclass(); $declaredAsObject[] = 'value';
これらのガイドラインに従うことで、このエラーを回避し、アプリケーションの適切な機能を確保できます。データベース変更コード。
以上がPHP 7 で「致命的エラー: [] 演算子は文字列ではサポートされていません」というエラーが発生するのはなぜですか?どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。