このPHPエラーが表示されます:
解析エラー:構文エラー、予期しないT_VARIABLE
この行から:
$list[$i][$docinfo['attrs']['@groupby']] = $docinfo['attrs']['@count'];
この行に何か問題はありますか?
貼り付けた行の前の行にセミコロンまたは角かっこがない場合があります。私にはすべての文字列が配列インデックスとして許可されているようです。
他の行でもかまいません。PHPは必ずしも正確ではありません。
おそらく、前の行にセミコロンが抜けているだけです。
このエラーを再現するには、a.php
:というファイルにこれを入れてください
<?php
$a = 5
$b = 7; //error happens here.
print $b;
?>
実行:
eric@dev ~ $ 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を見て、「それは予想外です」と言います。
私の場合、PHPバージョンの問題でした。
使用していた.pharファイルは、PHP 5.3.9と互換性がありませんでした。インタープリターをPHP 7に切り替えると修正されました。