Я получаю эту ошибку PHP:
Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный T_VARIABLE
Из этой строки:
$list[$i][$docinfo['attrs']['@groupby']] = $docinfo['attrs']['@count'];
Что-то не так с этой строкой?
php
syntax-error
О, мой бог
источник
источник
Ответы:
Перед вставленной строкой может быть точка с запятой или скобка.
Мне это кажется прекрасным; каждая строка допускается как индекс массива.
источник
$list
- это переменная.Это может быть и другая линия. 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
- токен типа VARIABLE. Когда синтаксический анализатор обрабатывает токены, он пытается понять их и выдает ошибки, если он получает переменную, в которой ничего не разрешено.В простом случае выше с переменной
$b
парсер попытался обработать это:$a = 5 $b = 7;
Парсер PHP смотрит на $ b после 5 и говорит: «Это неожиданно».
источник
В моем случае это была проблема версии PHP.
Файл .phar, который я использовал, несовместим с PHP 5.3.9. Переключение интерпретатора на PHP 7 исправило это.
источник