downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Sobre el manual> <Tablas de comparación de tipos PHP
[edit] Last updated: Mon, 01 Nov 2010

view this page in

Apéndice Q. Lista de Identificadores (tokens) del Analizador

Varias partes del lenguaje PHP están representadas internamente por cosas tales como T_SR. El PHP muestra identificadores como éste en los errores durante el análisis gramatical, como por ejemplo: "Parse error: unexpected T_SR, expecting ',' or ';' in script.php on line 10." ("Error de análisis: T_SR inesperado, se esperaba ',' o ';' en la línea 10 de script.php.").

Suponemos que sabeis que significa T_SR. Para quienes no lo conocen, aquí hay una tabla con esos identificadores, la sintaxis de PHP, y referencias a lugares apropiados del manual.

Tabla Q-1. Identificadores (Tokens)

IdentificadorSintaxisReferencia
T_AND_EQUAL&=Operadores de Asignación
T_ARRAYarray()array(), Sintaxis de array
T_ARRAY_CAST(array) Forzado de Tipos
T_ASasforeach
T_BAD_CHARACTER cualquier caracter debajo del ASCII 32, excepto \t (0x09), \n (0x0a) y \r (0x0d)
T_BOOLEAN_AND&& Operadores Lógicos
T_BOOLEAN_OR|| Operadores Lógicos
T_BOOL_CAST(bool) o (boolean) Forzado de Tipos
T_BREAKbreakbreak
T_CASEcaseswitch
T_CHARACTER  
T_CLASSclassClases y Objetos
T_CLOSE_TAG?> o %> 
T_COMMENT// o # Comentarios
T_CONCAT_EQUAL.=Operadores de Asignación
T_CONSTconst 
T_CONSTANT_ENCAPSED_STRING"foo" o 'bar' Sintasis de Cadenas
T_CONTINUEcontinue 
T_CURLY_OPEN  
T_DEC--Operadores de Incremento/decremento
T_DECLAREdeclaredeclare
T_DEFAULTdefaultswitch
T_DIV_EQUAL/= Operadores de Asignación
T_DNUMBER0.12, etc.Números en Punto Flotante
T_DOdo do..while
T_DOLLAR_OPEN_CURLY_BRACES${Sintaxis de Variables Complejas Analizadas
T_DOUBLE_ARROW=>Sintaxis de Matrices
T_DOUBLE_CAST(real), (double) or (float)Forzado de Tipos
T_ECHOechoecho()
T_ELSEelseelse
T_ELSEIFelseifelseif
T_EMPTYemptyempty()
T_ENCAPSED_AND_WHITESPACE  
T_ENDDECLAREenddeclaredeclare, Sintaxis Alternativa
T_ENDFORendforfor, Sintaxis Alternativa
T_ENDFOREACHendforeachforeach, Sintaxis Alternativa
T_ENDIFendifif, Sintaxis Alternativa
T_ENDSWITCHendswitchswitch, Sintaxis Alternativa
T_ENDWHILEendwhilewhile, Sintaxis Alternativa
T_END_HEREDOC heredoc
T_EVALeval()eval()
T_EXITexit o dieexit(), die()
T_EXTENDSextendsextends, Clases y Objetos
T_FILE__FILE__Constantes
T_FORforfor
T_FOREACHforeachforeach
T_FUNCTIONfunction o cfunctionFunciones
T_GLOBALglobal Ambito de Variables
T_IFifif
T_INC++Operadores de Incremento/decremento
T_INCLUDEinclude()include()
T_INCLUDE_ONCEinclude_once()include_once()
T_INLINE_HTML  
T_INT_CAST(int) o (integer)Forzado de Tipos
T_ISSETisset()isset()
T_IS_EQUAL==Operadores de Comparación
T_IS_GREATER_OR_EQUAL>=Operadores de Comparación
T_IS_IDENTICAL===Operadores de Comparación
T_IS_NOT_EQUAL!= o <>Operadores de Comparación
T_IS_NOT_IDENTICAL!==Operadores de Comparación
T_SMALLER_OR_EQUAL<=Operadores de Comparación
T_LINE__LINE__Constantes
T_LISTlist()list()
T_LNUMBER123, 012, 0x1ac, etc.Enteros
T_LOGICAL_ANDandOperadores Lógicos
T_LOGICAL_ORorOperadores Lógicos
T_LOGICAL_XORxorOperadores Lógicos
T_MINUS_EQUAL-=Operadores de Asignación
T_ML_COMMENT/* y */ Comentarios
T_MOD_EQUAL%=Operadores de Asignación
T_MUL_EQUAL*=Operadores de Asignación
T_NEWnewClases y Objetos
T_NUM_STRING  
T_OBJECT_CAST(object)Forzado de Tipos
T_OBJECT_OPERATOR->Clases y Objetos
T_OLD_FUNCTIONold_functionold_function
T_OPEN_TAG<?php, <? o <%Saliendo de HTML
T_OPEN_TAG_WITH_ECHO<?= o <%=Saliendo de HTML
T_OR_EQUAL|=Operadores de Asignación
T_PAAMAYIM_NEKUDOTAYIM::::
T_PLUS_EQUAL+=Operadores de Asignación
T_PRINTprint()print()
T_REQUIRErequire()require()
T_REQUIRE_ONCErequire_once()require_once()
T_RETURNreturnRetorno de Valores
T_SL<<Operadores a Nivel de Bits
T_SL_EQUAL<<=Operadores de Asignación
T_SR>>Operadores a Nivel de Bits
T_SR_EQUAL>>=Operadores de Asignación
T_START_HEREDOC<<< heredoc
T_STATICstaticAmbito de las Variables
T_STRING  
T_STRING_CAST(string)Forzado de Variables
T_STRING_VARNAME  
T_SWITCHswitchswitch
T_UNSETunset()unset()
T_UNSET_CAST(unset)(no documentado; arroja a NULL)
T_USEuse(no implementado)
T_VARvarClases y Objetos
T_VARIABLE$fooVariables
T_WHILEwhilewhile, do..while
T_WHITESPACE  
T_XOR_EQUAL^=Operadores de Asignación
T_FUNC_C__FUNCTION__constants, desde PHP 4.3.0
T_CLASS_C__CLASS__constants, desde PHP 4.3.0


Sobre el manual> <Tablas de comparación de tipos PHP
[edit] Last updated: Mon, 01 Nov 2010
 
add a note add a note User Contributed Notes Lista de Identificadores (tokens) del Analizador
fgm at osinet dot fr 22-Sep-2008 01:08
T_ENCAPSED_AND_WHITESPACED is returned when parsing strings with evaluated content, like "some $value" or this example from the Strings reference page:

<?php
echo <<<EOT
My name is "$name". I am printing some $foo->foo.
Now, I am printing some
{$foo->bar[1]}.
This should print a capital 'A': \x41
EOT;
?>

This last example is tokenized as:
T_ECHO
  echo
T_WHITESPACE
  %20 (a space character)
T_START_HEREDOC
  <<
T_ENCAPSED_AND_WHITESPACE
  My name is "
T_VARIABLE
  $name
T_ENCAPSED_AND_WHITESPACE   
  ". I am printing some
T_VARIABLE   
  $foo
T_OBJECT_OPERATOR   
  ->
T_STRING   
  foo
T_ENCAPSED_AND_WHITESPACE   
  . Now, I am printing some
T_CURLY_OPEN   
  {
T_VARIABLE   
  $foo
T_OBJECT_OPERATOR   
  ->
T_STRING   
  bar
(terminal)
  [
T_LNUMBER   
  1
(terminal)
  ]
(terminal)
  }
T_ENCAPSED_AND_WHITESPACE   
  . This should print a capital 'A': \x41
T_END_HEREDOC
  EOT
(terminal)
  ;
nathan at unfinitydesign dot com 22-Sep-2008 05:52
T_ENCAPSED_AND_WHITESPACE is whitespace which intersects a group of tokens. For example, an "unexpected T_ENCAPSED_AND_WHITESPACE" error is produced by the following code:

<?php
$main_output_world
= 'snakes!'
echo('There are' 10 $main_output_world);
?>

Note the missing concatenation operator between the two strings leads to the whitespace error that is so named above. The concatenation operator instructs PHP to ignore the whitespace between the two code tokens (the so named "encapsed" data"), rather than parse it as a token itself.

The correct code would be:

<?php
$main_output_world
= 'snakes!'
echo('There are' . 10 . $main_output_world);
?>

Note the addition of the concatenation operator between each token.
o_O Tync 03-Aug-2008 08:21
Some tokens are not documented, so here they are:
all of them are located within non-constant ""-strings:

T_CHARACTER - \r\n\t... . They're presented AS IS and NOT replaced with actual characters

T_ENCAPSED_AND_WHITESPACE - whitespace

T_DOLLAR_OPEN_CURLY_BRACES - ${ (ONLY in non-constant ""-strings)

T_STRING - strings (example: "$a aa")

T_NUM_STRING - numbers (exaple: "$a 0")

still have no idea what T_ENCAPSED_AND_WHITESPACE means... :(

 
show source | credits | sitemap | contact | advertising | mirror sites