Что такое неожиданная переменная T в PHP?
Я получаю эту ошибку PHP:
ошибка синтаксического анализа: синтаксическая ошибка, неожиданный T_VARIABLE
из этой строки:
$list[$i][$docinfo['attrs']['@groupby']] = $docinfo['attrs']['@count'];
что-то не так с этой линии?
3 ответа:
перед вставленной строкой может отсутствовать точка с запятой или скобка. Мне кажется, это нормально, каждая строка разрешена как индекс массива.
это может быть и другая строка, 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 преобразует вашу программу в серию токенов. А
T_VARIABLE
- это маркер переменной типа. Когда парсер обрабатывает токены, он пытается понять их и выдает ошибки, если он получает переменную, где никто не разрешен.в простом случае выше с переменной
$b
, парсер попытался обработать это:$a = 5 $b = 7;
синтаксический анализатор php смотрит на $b после 5 и говорит: "это неожиданно".