Подтвердить что ты не робот

Что неожиданный T_VARIABLE в PHP?

Я получаю эту ошибку PHP:

Ошибка анализа: синтаксическая ошибка, неожиданный T_VARIABLE

Из этой строки:

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

С этой линией что-то не так?

4b9b3361

Ответ 1

Может быть точка с запятой или скобка отсутствует строка перед вашей вставленной строкой. Мне кажется, что мне хорошо, каждая строка разрешена как индекс массива.

Ответ 2

Это может быть и другая строка, PHP не всегда точен.

Вероятно, вы просто пропустили точку с запятой в предыдущей строке.

Как воспроизвести эту ошибку, поместите ее в файл с именем a.php:

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

Запустить его:

[email protected] ~ $ php a.php

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

Объяснение:

Парсер PHP преобразует вашу программу в ряд токенов. A T_VARIABLE - токен типа VARIABLE. Когда синтаксический анализатор обрабатывает токены, он пытается понять их и выдает ошибки, если получает переменную, где ни один не разрешен.

В приведенном выше примере с переменной $b синтаксический анализатор попытался обработать это:

$a = 5 $b = 7;

Парсер php смотрит на $b после 5 и говорит "это неожиданно".

Ответ 3

В моем случае это была проблема версии PHP.

Файл .phar, который я использовал, был несовместим с PHP 5.3.9. Переключение интерпретатора на PHP 7 все-таки исправило.

Ответ 4

У меня тоже была такая ошибка.

В своем коде я попытался дать второй параметр методу (чуть выше (из PHP) отмеченной строки), который ожидал только один....