このPHPエラーが発生します:
解析エラー:構文エラー、予期しないT_VARIABLE
この行から:
$list[$i][$docinfo['attrs']['@groupby']] = $docinfo['attrs']['@count'];
この行に何か問題がありますか?
回答:
貼り付けた行の前に、行が欠落しているセミコロンまたは角かっこがある可能性があります。
それは私には問題ないようです。すべての文字列は配列インデックスとして許可されます。
$list
は変数だからです。
他の行でもかまいません。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パーサーは、プログラムを一連のトークンに変換します。AT_VARIABLE
はVARIABLEタイプのトークンです。パーサーがトークンを処理するとき、トークンを理解しようとし、許可されていない変数を受け取った場合はエラーをスローします。
上記の変数を使用した単純なケース$b
では、パーサーはこれを処理しようとしました。
$a = 5 $b = 7;
PHPパーサーは5の後の$ bを見て、「それは予想外です」と言います。