私のスクリプトの1つで、次のことを試みます
$data[] = self::get($row['sr_id']); // <-- line 55
ただし、PHPはこれを行うことを許可せず、これを与えますerror
致命的なエラー:55行目の/file.phpの読み取りに[]を使用できません
self::get
関数は、ブールまたはオブジェクトを返します。
編集: get関数は、mysqlデータベースからデータを再度ロードする新しいオブジェクトを作成します。
古いPHPバージョンは式で_$var[]
_を受け入れ、構文に関係なく_$var
_のコンテンツを読み取ることができました。 PHP 5.1はそれを違法にしました。ただし、意図したコンテキストの外部でエラーが発生する場合があります。
だから私の推測(再び:もっとコードを表示)は、前の行に未完成の式が含まれており、それに_$data[]
_が結合しているということです。
オブジェクト属性の場合、$ data varを_{ }
_にラップできますが、それは問題ではないようです。 (それ以外の場合、54行目に表示されていないものがあります。)右側ではエラーを合理的にトリガーできません。 _[]
_整数またはオブジェクトにアクセスする配列でさえ、その致命的なエラーを引き起こしません。
何も役に立たない場合は、array_Push()
を使用してください。 PHPを回避します。
私の場合の解決策はこれでした:
$this->$ExtraTag[] = $fullscript;
$this->{$ExtraTag}[] = $fullscript;
または
$this->ExtraTag[] = $fullscript;
私が得たエラーは:
致命的なエラー:33行目の/pathtosite/drupal/sites/all/themes/zenui/templates/page.tpl.phpの読み取りに[]を使用できません
次のような行を含めると問題が発生する場合があります。
$page['sidebar_first'][]
これは、変数名をコピーしていて、行をコメントアウトするのを忘れた場合に発生する可能性があります。
2つの問題がありました。
1。セミコロンがありません
2。 $ variable []は変数を設定する必要があります
これらの2つの問題を修正した後、私のコードは次のようになりました。
$page['sidebar_first'][] = $value;
デバッグプロセスを支援するために、使用していない行をコメントアウトすることを忘れないでください
これが私のような仲間のプログラマに役立つことを願っています!
試してください:
$data = Array();
$data[] = self::get($row['sr_id']); // <-- line 55
別の考えられる問題は、偶発的な二重==
である可能性があります。たとえば、誤って$myArray[] == $myNewValue;
を実行すると、このエラーが発生します(PHPに新しい配列インデックスを割り当てるのではなく、==
で値を読み取ろうとしているため)。
スクリプトで同じ問題が発生しましたが、次の行で同じエラーがスローされました。
$array[]=$value
私は単にそれを
$array[count($array)-1]=$value
完璧に機能しました。
次と同じエラーが発生しました:
echo implode(',', $array[]);
あるべきだった
echo implode(',', $array);
これが誰かを助けることを願っています