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

search for in the

ユーザレベルでの命名の手引き> <PHP 型の比較表
[edit] Last updated: Mon, 01 Nov 2010

view this page in

付録 Q. パーサトークンの一覧

PHP 言語の種々の部分は、内部的に T_SR のように表されています。PHP は、 パーサエラーが発生した際に、これらの ID を "Parse error: unexpected T_SR, expecting ',' or ';' in script.php on line 10." のように出力します。

ここでは、T_SR が何を意味するのかを知っていることを仮定しています。 この対応が分からない方のために、以下にこれらの ID、PHP 構文、マニュアルでの 適当な参照先の一覧を示します。

表 Q-1. トークン

トークン構文参照先
T_ABSTRACTabstractクラスアブストラクション項第19章 (PHP 5.0.0 以降で使用可能)
T_AND_EQUAL&=代入演算子
T_ARRAYarray()array(), array 構文
T_ARRAY_CAST(array)型キャスト
T_ASasforeach
T_BAD_CHARACTER ASCII 32以下の全ての文字。\t (0x09), \n (0x0a) , \r (0x0d) は除く
T_BOOLEAN_AND&&論理演算子
T_BOOLEAN_OR||論理演算子
T_BOOL_CAST(bool) or (boolean)型キャスト
T_BREAKbreak;break
T_CASEcaseswitch
T_CATCHcatch第20章 (PHP 5.0.0 以降で使用可能)
T_CHARACTER  
T_CLASSclassクラスとオブジェクト
T_CLONEcloneクラスとオブジェクト PHP 5 のみ。
T_CLOSE_TAG?> or %> 
T_COMMENT// or #, and /* */ on PHP 5コメント
T_CONCAT_EQUAL.=代入演算子
T_CONSTconst 
T_CONSTANT_ENCAPSED_STRING"foo" or 'bar'文字列構文
T_CONTINUEcontinue 
T_CURLY_OPEN  
T_DEC--可算/減算演算子
T_DECLAREdeclaredeclare
T_DEFAULTdefaultswitch
T_DIV_EQUAL/=代入演算子
T_DNUMBER0.12, etc浮動小数点数
T_DOC_COMMENT/** */PHPDoc 形式のコメント (PHP 5 のみ)
T_DOdodo..while
T_DOLLAR_OPEN_CURLY_BRACES${complex variable parsed syntax
T_DOUBLE_ARROW=>array 構文
T_DOUBLE_CAST(real), (double) or (float)型キャスト
T_DOUBLE_COLON::以下の T_PAAMAYIM_NEKUDOTAYIM を参照ください。
T_ECHOechoecho()
T_ELSEelseelse
T_ELSEIFelseifelseif
T_EMPTYemptyempty()
T_ENCAPSED_AND_WHITESPACE  
T_ENDDECLAREenddeclaredeclare, 別の構文
T_ENDFORendforfor, 別の構文
T_ENDFOREACHendforeachforeach, 別の構文
T_ENDIFendifif, 別の構文
T_ENDSWITCHendswitchswitch, 別の構文
T_ENDWHILEendwhilewhile, 別の構文
T_END_HEREDOC heredoc 構文
T_EVALeval()eval()
T_EXITexit or dieexit(), die()
T_EXTENDSextendsextends, クラスとオブジェクト
T_FILE__FILE__定数
T_FINALfinalfinalキーワード項第19章 (PHP 5.0.0 以降で使用可能)
T_FORforfor
T_FOREACHforeachforeach
T_FUNCTIONfunction or cfunction関数
T_GLOBALglobal変数のスコープ
T_HALT_COMPILER__halt_compiler()__halt_compiler (PHP 5.1.0 以降で使用可能)
T_IFifif
T_IMPLEMENTSimplementsオブジェクト インターフェイス項第19章 (PHP 5.0.0 以降で使用可能)
T_INC++加算/減算演算子
T_INCLUDEinclude()include()
T_INCLUDE_ONCEinclude_once()include_once()
T_INLINE_HTML  
T_INSTANCEOFinstanceof型演算子 (PHP5 限定)
T_INT_CAST(int) or (integer)型キャスト
T_ISSETisset()isset()
T_IS_EQUAL==比較演算子
T_IS_GREATER_OR_EQUAL>=比較演算子
T_IS_IDENTICAL===比較演算子
T_IS_NOT_EQUAL!= or <>比較演算子
T_IS_NOT_IDENTICAL!==比較演算子
T_IS_SMALLER_OR_EQUAL<=比較演算子
T_LINE__LINE__定数
T_LISTlist()list()
T_LNUMBER123, 012, 0x1ac, etc整数
T_LOGICAL_ANDand論理演算子
T_LOGICAL_ORor論理演算子
T_LOGICAL_XORxor論理演算子
T_MINUS_EQUAL-=代入演算子
T_ML_COMMENT/* and */コメント (PHP 4 のみ)
T_MOD_EQUAL%=代入演算子
T_MUL_EQUAL*=代入演算子
T_NEWnewクラスとオブジェクト
T_NUM_STRING  
T_OBJECT_CAST(object)型キャスト
T_OBJECT_OPERATOR->クラスとオブジェクト
T_OLD_FUNCTIONold_functionold_function
T_OPEN_TAG<?php, <? or <%HTMLからのエ スケープ
T_OPEN_TAG_WITH_ECHO<?= or <%=HTMLからのエ スケープ
T_OR_EQUAL|=代入演算子
T_PAAMAYIM_NEKUDOTAYIM::::T_DOUBLE_COLON としても定義されています。
T_PLUS_EQUAL+=代入演算子
T_PRINTprint()print()
T_PRIVATEprivateクラスとオブジェクト PHP 5 のみ。
T_PUBLICpublicクラスとオブジェクト PHP 5 のみ。
T_PROTECTEDprotectedクラスとオブジェクト PHP 5 のみ。
T_REQUIRErequire()require()
T_REQUIRE_ONCErequire_once()require_once()
T_RETURNreturn値を返す
T_SL<<ビット演算子
T_SL_EQUAL<<=代入演算子
T_SR>>ビット演算子
T_SR_EQUAL>>=代入演算子
T_START_HEREDOC<<<heredoc 構文
T_STATICstatic変数スコープ
T_STRING  
T_STRING_CAST(string)型キャスト
T_STRING_VARNAME  
T_SWITCHswitchswitch
T_THROWthrow第20章 (PHP 5.0.0 以降で使用可能)
T_TRYtry第20章 (PHP 5.0.0 以降で使用可能)
T_UNSETunset()unset()
T_UNSET_CAST(unset)(not documented; casts to NULL)
T_USEuse(未実装)
T_VARvarクラスとオブジェクト
T_VARIABLE$foo変数
T_WHILEwhilewhile, do..while
T_WHITESPACE  
T_XOR_EQUAL^=代入演算子
T_FUNC_C__FUNCTION__定数, PHP 4.3.0 以降
T_CLASS_C__CLASS__定数, PHP 4.3.0 以降

token_name() も参照ください。



add a note add a note User Contributed Notes パーサトークンの一覧
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