Ik krijg deze PHP-fout:
Parseerfout: syntaxisfout, onverwacht
T_VARIABLE
Van deze regel:
$list[$i][$docinfo['attrs']['@groupby']] = $docinfo['attrs']['@count'];
Is er iets mis met deze regel?
Antwoord 1, autoriteit 100%
Er kan een puntkomma of haakje ontbreken in een regel voor uw geplakte regel.
Het lijkt me prima; elke string is toegestaan als een array-index.
Antwoord 2, autoriteit 13%
Het kan ook een andere regel zijn. PHP is niet altijd zo exact.
Waarschijnlijk mis je alleen een puntkomma op de vorige regel.
Hoe u deze fout kunt reproduceren, plaatst u deze in een bestand met de naam a.php
:
<?php
$a = 5
$b = 7; // Error happens here.
print $b;
?>
Voer het uit:
eric@dev ~ $ php a.php
PHP Parse error: syntax error, unexpected T_VARIABLE in
/home/el/code/a.php on line 3
Uitleg:
De PHP-parser converteert uw programma naar een reeks tokens. Een T_VARIABLE
is een token van het type VARIABLE. Wanneer de parser tokens verwerkt, probeert hij ze te begrijpen en genereert fouten als hij een variabele ontvangt waar geen enkele is toegestaan.
In het eenvoudige geval hierboven met variabele $b
probeerde de parser dit te verwerken:
$a = 5 $b = 7;
De PHP-parser kijkt naar de $b na de 5 en zegt “dat is onverwacht”.
Antwoord 3
In mijn geval was het een probleem van de PHP-versie.
Het testbestand dat ik gebruikte was niet compatibel met PHP 5.3.9. Schakelinterpreter naar PHP 7 heeft het opgelost.