Otrzymuję ten błąd PHP:
Błąd analizy: błąd składni, nieoczekiwana T_VARIABLE
Z tej linii:
$list[$i][$docinfo['attrs']['@groupby']] = $docinfo['attrs']['@count'];
Czy jest coś nie tak z tą linią?
php
syntax-error
o mój Boże
źródło
źródło
Odpowiedzi:
Może brakować średnika lub nawiasu przed wklejonym wierszem.
Wydaje mi się w porządku; każdy łańcuch jest dozwolony jako indeks tablicy.
źródło
$list
jest zmienną.Może to być również inna kwestia. PHP nie zawsze jest takie dokładne.
Prawdopodobnie brakuje średnika w poprzednim wierszu.
Jak odtworzyć ten błąd, umieść to w pliku o nazwie
a.php
:<?php $a = 5 $b = 7; // Error happens here. print $b; ?>
Uruchom:
eric@dev ~ $ php a.php PHP Parse error: syntax error, unexpected T_VARIABLE in /home/el/code/a.php on line 3
Wyjaśnienie:
Parser PHP konwertuje twój program na serię tokenów. A
T_VARIABLE
jest tokenem typu VARIABLE. Kiedy parser przetwarza tokeny, próbuje je zrozumieć i zgłasza błędy, jeśli otrzyma zmienną, w której żadna nie jest dozwolona.W prostym przypadku powyżej ze zmienną
$b
parser próbował przetworzyć to:$a = 5 $b = 7;
Parser PHP sprawdza $ b po 5 i mówi „to jest nieoczekiwane”.
źródło
W moim przypadku był to problem z wersją PHP.
Plik .phar, którego używałem, nie był zgodny z PHP 5.3.9. Przełączenie interpretera na PHP 7 rozwiązało problem.
źródło