wake-up-neo.net

Was ist unerwartetes T_VARIABLE in PHP?

Ich bekomme diese PHP Fehlermeldung:

Error: Syntax Error, unerwartet T_VARIABLE

Aus dieser Zeile:

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

Stimmt etwas mit dieser Zeile nicht?

67
omg

Möglicherweise fehlt ein Semikolon oder eine Klammer vor der eingefügten Zeile. Es scheint mir gut, jeder String ist als Array-Index erlaubt.

160
knittl

Es könnte auch eine andere Zeile sein, PHP ist nicht immer so genau.

Wahrscheinlich fehlt Ihnen in der vorherigen Zeile nur ein Semikolon.

Wie man diesen Fehler reproduziert, füge dies in eine Datei namens a.php ein:

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

Starte es:

[email protected] ~ $ php a.php

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

Erklärung:

Der PHP Parser konvertiert Ihr Programm in eine Reihe von Token. Ein T_VARIABLE ist ein Token vom Typ VARIABLE. Wenn der Parser Token verarbeitet, versucht er, sie zu verstehen und wirft Fehler aus, wenn er eine Variable empfängt, für die keine zulässig ist. 

Im einfachen Fall oben mit der Variable $b hat der Parser versucht, dies zu verarbeiten:

$a = 5 $b = 7;

Der PHP-Parser betrachtet $ b nach der 5 und sagt "das ist unerwartet".

18
dusoft

In meinem Fall handelte es sich um die Ausgabe von PHP.

Die von mir verwendete .phar-Datei war nicht kompatibel mit PHP 5.3.9. Durch das Umschalten des Interpreters auf PHP 7 wurde das Problem behoben.

1
Zank