Ich bekomme diesen PHP-Fehler:
Analysefehler: Syntaxfehler, unerwarteter T_VARIABLE
Aus dieser Zeile:
$list[$i][$docinfo['attrs']['@groupby']] = $docinfo['attrs']['@count'];
Stimmt etwas mit dieser Zeile nicht?
php
syntax-error
Oh mein Gott
quelle
quelle
Antworten:
Möglicherweise fehlt einem Semikolon oder einer Klammer eine Zeile vor der eingefügten Zeile.
Es scheint mir in Ordnung zu sein; Jede Zeichenfolge ist als Array-Index zulässig.
quelle
$list
eine Variable ist.Es könnte auch eine andere Zeile sein. PHP ist nicht immer so genau.
Wahrscheinlich fehlt Ihnen nur ein Semikolon in der vorherigen Zeile.
Um diesen Fehler zu reproduzieren, fügen Sie ihn in eine Datei mit dem Namen ein
a.php
:Starte es:
Erläuterung:
Der PHP-Parser konvertiert Ihr Programm in eine Reihe von Token. A
T_VARIABLE
ist ein Token vom Typ VARIABLE. Wenn der Parser Token verarbeitet, versucht er, diese zu verstehen, und gibt Fehler aus, wenn er eine Variable empfängt, für die keine zulässig ist.Im obigen einfachen Fall mit Variable
$b
hat der Parser versucht, dies zu verarbeiten:Der PHP-Parser schaut auf das $ b nach der 5 und sagt "das ist unerwartet".
quelle
In meinem Fall war es ein Problem der PHP-Version.
Die von mir verwendete .phar-Datei war nicht mit PHP 5.3.9 kompatibel. Das Umschalten des Interpreters auf PHP 7 hat das Problem behoben.
quelle