Вопрос

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

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

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

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

Есть ли что-то не так с этой строкой?

Это было полезно?

Решение

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

Другие советы

Это может быть и какая-то другая строка, 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 преобразует вашу программу в серию токенов.A T_VARIABLE является токеном ПЕРЕМЕННОЙ типа.Когда анализатор обрабатывает токены, он пытается разобраться в них и выдает ошибки, если получает переменную, в которой недопустимо ни одно значение.

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

$a = 5 $b = 7;

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top