2009-09-23 40 views
57

私はこのPHPのエラーを取得:PHPで予期しないT_VARIABLEとは何ですか?

Parse error: syntax error, unexpected T_VARIABLE

このラインから:

$list[$i][$docinfo['attrs']['@groupby']] = $docinfo['attrs']['@count']; 

は、この行に何か問題はありますか?

+0

X-Ref:[PHP Parse/Syntax Errors;どのようにそれらを解決するために? - Unexpected T_VARIABLE](http://stackoverflow.com/a/18092267)を参照してください。 – mario

答えて

135

ペーストした行の前にセミコロンまたはブラケットがある可能性があります。それは私にとっては、すべての文字列が配列のインデックスとして許可されているようです。

+0

ああ、あなたは私に思い出させました、それはブラケットが見当たりません。なぜT_VARIABLEと呼ばれていますか? – omg

+1

エラーメッセージには、何があるか(予期せず)、何が欠けているのかが示されます。そして変数があるので、正確にそれを伝えます。 – OregonGhost

+1

予期しない '$ list'は変数です。 –

16

他の行でも可能ですが、PHPは必ずしも正確ではありません。

おそらく、前の行にセミコロンがありません。ファイルでこれを入れて、このエラーを再現する方法

a.phpと呼ばれる:

<?php 
    $a = 5 
    $b = 7;  //error happens here. 
    print $b; 
?> 

を実行し、それ:

[email protected] ~ $ php a.php 

PHP Parse error: syntax error, unexpected T_VARIABLE in 
/home/el/code/a.php on line 3 

説明:

PHPパーサあなたのプログラムを一連のトークン。 T_VARIABLEは、VARIABLEタイプのトークンです。パーサーはトークンを処理するときに、トークンを理解しようとします。許可されていない変数を受け取った場合は、エラーをスローします。変数$bと上記の単純なケースで

は、パーサはこれを処理しようとしました:

$a = 5 $b = 7; 

PHPパーサは5の後に$ bのを見て、「それは予想外である」と言います。

関連する問題