2009-09-23 119 views
57

me sale este error PHP:¿Qué es T_VARIABLE inesperado en PHP?

Parse error: syntax error, unexpected T_VARIABLE

partir de esta línea:

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

¿Hay algo erróneo en la línea?

+0

X-Ref: [PHP Parse/Errores de sintaxis; y cómo resolverlos? - T_VARIABLE inesperado] (http://stackoverflow.com/a/18092267) para las otras causas comunes y las correcciones específicas del contexto. – mario

Respuesta

135

Es posible que haya un punto y coma o un corchete al que falta una línea antes de la línea pegada. Me parece bien, cada cadena está permitida como índice de matriz.

+0

Oh, me recordó, es un soporte perdido. ¿Por qué se llama T_VARIABLE? – omg

+1

El mensaje de error le dice qué hay allí (inesperado), no lo que falta. Y hay una variable, por lo que te dice exactamente eso. – OregonGhost

+1

Porque la inesperada '$ list' es una variable. –

16

También podría ser alguna otra línea, PHP no siempre es tan exacto.

Probablemente te falte un punto y coma en la línea anterior.

cómo reproducir este error, poner esto en un archivo llamado a.php:

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

Run que:

[email protected] ~ $ php a.php 

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

Explicación:

El intérprete PHP convierte tu programa a un serie de tokens A T_VARIABLE es un Token de tipo VARIABLE. Cuando el analizador procesa tokens, intenta darles sentido y arroja errores si recibe una variable donde no se permite ninguno.

En el caso simple de arriba con la variable $b, el analizador trató de procesar esta:

$a = 5 $b = 7; 

El analizador PHP mira a los $ b después de la 5 y dice "esto es inesperado".