質問
私のスクリプトの1つで、私は次のことをしようとします
$data[] = self::get($row['sr_id']); // <-- line 55
しかし、PHPは私がこれをすることを許可していないので、私にこれを与えてください エラー
致命的なエラー: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;
試す:
$data = Array();
$data[] = self::get($row['sr_id']); // <-- line 55
私が得たエラーは次のとおりです。
致命的なエラー:/pathtosite/drupal/sites/all/themes/zenui/templates/page.tpl.phpで[]に[]を使用できません33
問題は、次のような行を含めるときです。
$page['sidebar_first'][]
これは、変数名をコピーして、行をコメントするのを忘れた場合に発生する可能性があります。
2つの問題がありました。
1. セミコロンがありません
2. $変数[]は変数を設定する必要があります
これらの2つの問題を修正した後、私のコードが読みました:
$page['sidebar_first'][] = $value;
デバッグプロセスを支援するために使用していないラインをコメントすることを忘れないでください
これが私のような仲間のプログラマーに役立つことを願っています!
私は自分のスクリプトで同じ問題を抱えていましたが、次の行で同じエラーが投げられました。
$array[]=$value
単に置き換えました
$array[count($array)-1]=$value
そして、それは完全に機能しました。
別の可能な問題は、偶発的なダブルである可能性があります ==
。たとえば、誤ってやっています $myArray[] == $myNewValue;
このエラーを引き起こします(あなたがで値を読み取ろうとしているため ==
PHPに新しい配列インデックスを割り当てるように指示する代わりに)。
次のエラーと同じエラーがありました。
echo implode(',', $array[]);
どちらが必要でしたか
echo implode(',', $array);
これが誰かを助けることができることを願っています