1. ホーム
  2. php

[解決済み] 読み上げに[]は使用できません

2022-02-28 21:02:29

質問

あるスクリプトで、次のようなことをやってみました。

$data[] = self::get($row['sr_id']); // <-- line 55

しかし、PHPはこれを許可せず、次のように表示されます。 エラー

致命的なエラーです。Cannot use [] for reading in /file.php on line 55

self::get 関数はブール値かオブジェクトを返します。

編集する get関数は、再びmysqlデータベースからデータをロードする新しいオブジェクトを作成します。

どのように解決するのですか?

古いバージョンのPHPを受け入れる $var[] を式で読み出すことができました。 $var の内容は、構文に関係なく表示されます。PHP 5.1では、これは違法となりました。しかし、意図したコンテキスト以外でエラーが発生することがあります。
そこで私の推測 (再度、コードを表示) は、前の行に未完成の式が含まれており、それに対する $data[] が加わります。

オブジェクト属性の場合は、$data 変数を以下のようにラップします。 { } しかし、あなたの場合、それは問題ではないようです。(そうでなければ、54行目に表示されていない何かがあるはずです。) 右側がエラーを引き起こすということはあり得ません。配列アクセスでも [] のような致命的なエラーは発生しないでしょう。

というわけで、何も解決しない場合は array_push() . PHPを回避する。