Recebo este erro de PHP:
Erro de análise: erro de sintaxe, T_VARIABLE inesperado
Desta linha:
$list[$i][$docinfo['attrs']['@groupby']] = $docinfo['attrs']['@count'];
Há algo de errado com esta linha?
php
syntax-error
AMD
fonte
fonte
Respostas:
Pode haver um ponto-e-vírgula ou colchete faltando uma linha antes da linha colada.
Parece bom para mim; cada string é permitida como um índice de array.
fonte
$list
é uma variável.Pode ser alguma outra linha também. PHP nem sempre é tão exato.
Provavelmente está faltando um ponto-e-vírgula na linha anterior.
Para reproduzir este erro, coloque-o em um arquivo chamado
a.php
:<?php $a = 5 $b = 7; // Error happens here. print $b; ?>
Executá-lo:
eric@dev ~ $ php a.php PHP Parse error: syntax error, unexpected T_VARIABLE in /home/el/code/a.php on line 3
Explicação:
O analisador PHP converte seu programa em uma série de tokens. A
T_VARIABLE
é um token do tipo VARIABLE. Quando o analisador processa tokens, ele tenta entendê-los e lança erros se receber uma variável na qual nenhum é permitido.No caso simples acima com variável
$b
, o analisador tentou processar isso:$a = 5 $b = 7;
O analisador PHP olha para $ b após o 5 e diz "isso é inesperado".
fonte
No meu caso foi um problema de versão do PHP.
O arquivo .phar que eu estava usando não era compatível com PHP 5.3.9. Mudar o interpretador para o PHP 7 corrigiu isso.
fonte