J'obtiens cette erreur PHP:
Erreur d'analyse: erreur de syntaxe, T_VARIABLE inattendu
À partir de cette ligne:
$list[$i][$docinfo['attrs']['@groupby']] = $docinfo['attrs']['@count'];
Y a-t-il quelque chose qui ne va pas avec cette ligne?
php
syntax-error
OMG
la source
la source
Réponses:
Il peut y avoir un point-virgule ou un crochet manquant une ligne avant votre ligne collée.
Cela me semble bien; chaque chaîne est autorisée en tant qu'index de tableau.
la source
$list
est une variable.Cela pourrait aussi être une autre ligne. PHP n'est pas toujours aussi exact.
Il vous manque probablement un point-virgule sur la ligne précédente.
Comment reproduire cette erreur, placez-le dans un fichier appelé
a.php
:<?php $a = 5 $b = 7; // Error happens here. print $b; ?>
Exécuter:
eric@dev ~ $ php a.php PHP Parse error: syntax error, unexpected T_VARIABLE in /home/el/code/a.php on line 3
Explication:
L'analyseur PHP convertit votre programme en une série de jetons. UNE
T_VARIABLE
est un jeton de type VARIABLE. Lorsque l'analyseur traite des jetons, il essaie de les comprendre et renvoie des erreurs s'il reçoit une variable là où aucune n'est autorisée.Dans le cas simple ci-dessus avec variable
$b
, l'analyseur a essayé de traiter ceci:$a = 5 $b = 7;
L'analyseur PHP regarde le $ b après le 5 et dit "c'est inattendu".
la source
Dans mon cas, c'était un problème de version PHP.
Le fichier .phar que j'utilisais n'était pas compatible avec PHP 5.3.9. Le passage de l'interpréteur à PHP 7 l'a corrigé.
la source