PHP 言語の種々の部分は、内部的に T_SR のように表されています。PHP は、 パーサエラーが発生した際に、これらの ID を "Parse error: unexpected T_SR, expecting ',' or ';' in script.php on line 10." のように出力します。
ここでは、T_SR が何を意味するのかを知っていることを仮定しています。 この対応が分からない方のために、以下にこれらの ID、PHP 構文、マニュアルでの 適当な参照先の一覧を示します。
注意: 定数 T_* の使いかた
以下のトークンは、すべて PHP の定数としても定義されています。その値は、 PHP のベースとなるパーサ基盤に基づいて自動生成されます。 つまり、トークンの具体的な値は、PHP のバージョンが違えば変わる可能性があるということです。 たとえば
T_FILE
の値は PHP 5.3 では 365 ですが、PHP 5.4 ではこの値はT_TRAIT
を表し、T_FILE
の値は 369 となります。 つまり、コードの中では決して T_* の実際の値を使ってはいけないということです。 それは PHP X.Y.Z でたまたまその値になっているだけであり、 その値に依存してしまえば PHP のバージョンが変わったときに互換性がなくなってしまいます。 その代わりに、コードでは独自の値 (たとえば 10000 のような大きな値) を使い、PHP のバージョンや T_* の値が変わってもうまく動作するようにしておきましょう。
トークン | 構文 | 参照先 |
---|---|---|
T_ABSTRACT |
abstract | クラスの抽象化 (PHP 5.0.0 以降で使用可能) |
T_AND_EQUAL |
&= | 代入演算子 |
T_ARRAY |
array() | array(), array 構文 |
T_ARRAY_CAST |
(array) | 型キャスト |
T_AS |
as | foreach |
T_BAD_CHARACTER |
ASCII 32以下の全ての文字。\t (0x09), \n (0x0a) , \r (0x0d) は除く | |
T_BOOLEAN_AND |
&& | 論理演算子 |
T_BOOLEAN_OR |
|| | 論理演算子 |
T_BOOL_CAST |
(bool) or (boolean) | 型キャスト |
T_BREAK |
break; | break |
T_CALLABLE |
callable | callable |
T_CASE |
case | switch |
T_CATCH |
catch | 例外(exceptions) (PHP 5.0.0 以降で使用可能) |
T_CHARACTER |
今では使用されていません | |
T_CLASS |
class | クラスとオブジェクト |
T_CLASS_C |
__CLASS__ | マジック定数 (PHP 4.3.0 以降で使用可能) |
T_CLONE |
clone | クラスとオブジェクト (PHP 5.0.0 以降で使用可能) |
T_CLOSE_TAG |
?> or %> | HTML からの脱出 |
T_COMMENT |
// or #, and /* */ in PHP 5 | コメント |
T_CONCAT_EQUAL |
.= | 代入演算子 |
T_CONST |
const | クラス定数 |
T_CONSTANT_ENCAPSED_STRING |
"foo" or 'bar' | 文字列構文 |
T_CONTINUE |
continue | continue |
T_CURLY_OPEN |
{$ | 複雑な構文 |
T_DEC |
-- | 可算/減算演算子 |
T_DECLARE |
declare | declare |
T_DEFAULT |
default | switch |
T_DIR |
__DIR__ | マジック定数 (PHP 5.3.0 以降で使用可能) |
T_DIV_EQUAL |
/= | 代入演算子 |
T_DNUMBER |
0.12, etc | 浮動小数点数 |
T_DOC_COMMENT |
/** */ | PHPDoc 形式のコメント (PHP 5.0.0 以降で使用可能) |
T_DO |
do | do..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_ECHO |
echo | echo |
T_ELSE |
else | else |
T_ELSEIF |
elseif | elseif |
T_EMPTY |
empty | empty() |
T_ENCAPSED_AND_WHITESPACE |
" $a" | 文字列のパース |
T_ENDDECLARE |
enddeclare | declare, 別の構文 |
T_ENDFOR |
endfor | for, 別の構文 |
T_ENDFOREACH |
endforeach | foreach, 別の構文 |
T_ENDIF |
endif | if, 別の構文 |
T_ENDSWITCH |
endswitch | switch, 別の構文 |
T_ENDWHILE |
endwhile | while, 別の構文 |
T_END_HEREDOC |
heredoc 構文 | |
T_EVAL |
eval() | eval() |
T_EXIT |
exit or die | exit(), die() |
T_EXTENDS |
extends | extends, クラスとオブジェクト |
T_FILE |
__FILE__ | 定数 |
T_FINAL |
final | finalキーワード (PHP 5.0.0 以降で使用可能) |
T_FINALLY |
finally | 例外(exceptions) (PHP 5.5.0 以降で使用可能) |
T_FOR |
for | for |
T_FOREACH |
foreach | foreach |
T_FUNCTION |
function or cfunction | 関数 |
T_FUNC_C |
__FUNCTION__ | 定数 (PHP 4.3.0 以降で使用可能) |
T_GLOBAL |
global | 変数のスコープ |
T_GOTO |
goto | (PHP 5.3.0 以降で使用可能) |
T_HALT_COMPILER |
__halt_compiler() | __halt_compiler (PHP 5.1.0 以降で使用可能) |
T_IF |
if | if |
T_IMPLEMENTS |
implements | オブジェクト インターフェイス (PHP 5.0.0 以降で使用可能) |
T_INC |
++ | 加算/減算演算子 |
T_INCLUDE |
include() | include |
T_INCLUDE_ONCE |
include_once() | include_once |
T_INLINE_HTML |
PHP の外部のテキスト | |
T_INSTANCEOF |
instanceof | 型演算子 (PHP 5.0.0 以降で使用可能) |
T_INSTEADOF |
insteadof | トレイト (PHP 5.4.0 以降で使用可能) |
T_INT_CAST |
(int) or (integer) | 型キャスト |
T_INTERFACE |
interface | オブジェクト インターフェイス (PHP 5.0.0 以降で使用可能) |
T_ISSET |
isset() | 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_LIST |
list() | list() |
T_LNUMBER |
123, 012, 0x1ac, etc | 整数 |
T_LOGICAL_AND |
and | 論理演算子 |
T_LOGICAL_OR |
or | 論理演算子 |
T_LOGICAL_XOR |
xor | 論理演算子 |
T_METHOD_C |
__METHOD__ | マジック定数 (PHP 5.0.0 以降で使用可能) |
T_MINUS_EQUAL |
-= | 代入演算子 |
T_ML_COMMENT |
/* and */ | コメント (PHP 4 のみ) |
T_MOD_EQUAL |
%= | 代入演算子 |
T_MUL_EQUAL |
*= | 代入演算子 |
T_NAMESPACE |
namespace | 名前空間 (PHP 5.3.0 以降で使用可能) |
T_NS_C |
__NAMESPACE__ | 名前空間 (PHP 5.3.0 以降で使用可能) |
T_NS_SEPARATOR |
\ | 名前空間 (PHP 5.3.0 以降で使用可能) |
T_NEW |
new | クラスとオブジェクト |
T_NUM_STRING |
"$a[0]" | 文字列内の配列の添字 |
T_OBJECT_CAST |
(object) | 型キャスト |
T_OBJECT_OPERATOR |
-> | クラスとオブジェクト |
T_OLD_FUNCTION |
old_function | (PHP 4 のみ) |
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_PRINT |
print() | |
T_PRIVATE |
private | クラスとオブジェクト (PHP 5.0.0 以降で使用可能) |
T_PUBLIC |
public | クラスとオブジェクト (PHP 5.0.0 以降で使用可能) |
T_PROTECTED |
protected | クラスとオブジェクト (PHP 5.0.0 以降で使用可能) |
T_REQUIRE |
require() | require |
T_REQUIRE_ONCE |
require_once() | require_once |
T_RETURN |
return | 値を返す |
T_SL |
<< | ビット演算子 |
T_SL_EQUAL |
<<= | 代入演算子 |
T_SR |
>> | ビット演算子 |
T_SR_EQUAL |
>>= | 代入演算子 |
T_START_HEREDOC |
<<< | heredoc 構文 |
T_STATIC |
static | 変数スコープ |
T_STRING |
parent、true など | 識別子。たとえば parent や self といったオブジェクト指向のキーワード、そして関数名やクラス名などにマッチします。 |
T_STRING_CAST |
(string) | 型キャスト |
T_STRING_VARNAME |
"${a | 複雑な構文 |
T_SWITCH |
switch | switch |
T_THROW |
throw | 例外(exceptions) (PHP 5.0.0 以降で使用可能) |
T_TRAIT |
trait | トレイト (PHP 5.4.0 以降で使用可能) |
T_TRAIT_C |
__TRAIT__ | __TRAIT__ (PHP 5.4.0 以降で使用可能) |
T_TRY |
try | 例外(exceptions) (PHP 5.0.0 以降で使用可能) |
T_UNSET |
unset() | unset() |
T_UNSET_CAST |
(unset) | 型キャスト (PHP 5.0.0 以降で使用可能) |
T_USE |
use | 名前空間 (PHP 5.3.0 以降で使用可能、PHP 4.0.0 以降で予約済み) |
T_VAR |
var | クラスとオブジェクト |
T_VARIABLE |
$foo | 変数 |
T_WHILE |
while | while, do..while |
T_WHITESPACE |
\t \r\n | |
T_XOR_EQUAL |
^= | 代入演算子 |
T_YIELD |
yield | ジェネレータ (PHP 5.5.0 以降で使用可能) |
token_name() も参照ください。