パーサトークンの一覧
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 | クラスの抽象化 | |
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) は除く
(PHP 7.4.0 以降で利用可能です) | ||
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) | |
T_CLASS
|
class | クラスとオブジェクト | |
T_CLASS_C
|
__CLASS__ | マジック定数 | |
T_CLONE
|
clone | クラスとオブジェクト | |
T_CLOSE_TAG
|
?> or %> | HTML からの脱出 | |
T_COALESCE
|
?? | 比較演算子 | |
T_COALESCE_EQUAL
|
??= | NULL合体代入演算子
(PHP 7.4.0 以降で利用可能) | |
T_COMMENT
|
// or #, and /* */ | コメント | |
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__ | マジック定数 | |
T_DIV_EQUAL
|
/= | 代入演算子 | |
T_DNUMBER
|
0.12, etc | 浮動小数点数 | |
T_DO
|
do | do..while | |
T_DOC_COMMENT
|
/** */ | PHPDoc 形式のコメント | |
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_ELLIPSIS
|
... | 関数の引数 | |
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キーワード | |
T_FINALLY
|
finally | 例外(exceptions) | |
T_FN
|
fn | アロー関数
(PHP 7.4.0 以降で利用可能) | |
T_FOR
|
for | for | |
T_FOREACH
|
foreach | foreach | |
T_FUNCTION
|
function | 関数 | |
T_FUNC_C
|
__FUNCTION__ | 定数 | |
T_GLOBAL
|
global | 変数のスコープ | |
T_GOTO
|
goto | goto | |
T_HALT_COMPILER
|
__halt_compiler() | __halt_compiler | |
T_IF
|
if | if | |
T_IMPLEMENTS
|
implements | オブジェクト インターフェイス | |
T_INC
|
++ | 加算/減算演算子 | |
T_INCLUDE
|
include() | include | |
T_INCLUDE_ONCE
|
include_once() | include_once | |
T_INLINE_HTML
|
PHP の外部のテキスト | ||
T_INSTANCEOF
|
instanceof | 型演算子 | |
T_INSTEADOF
|
insteadof | トレイト | |
T_INTERFACE
|
interface | オブジェクト インターフェイス | |
T_INT_CAST
|
(int) or (integer) | 型キャスト | |
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__ | マジック定数 | |
T_MINUS_EQUAL
|
-= | 代入演算子 | |
T_MOD_EQUAL
|
%= | 代入演算子 | |
T_MUL_EQUAL
|
*= | 代入演算子 | |
T_NAMESPACE
|
namespace | 名前空間 | |
T_NEW
|
new | クラスとオブジェクト | |
T_NS_C
|
__NAMESPACE__ | 名前空間 | |
T_NS_SEPARATOR
|
\ | 名前空間
(PHP 5.3.0 以降で使用可能) | |
T_NUM_STRING
|
"$a[0]" | 文字列内の配列の添字 | |
T_OBJECT_CAST
|
(object) | 型キャスト | |
T_OBJECT_OPERATOR
|
-> | クラスとオブジェクト | |
T_NULLSAFE_OBJECT_OPERATOR
|
?-> | クラスとオブジェクト | |
T_OPEN_TAG
|
<?php, <? or <% | HTML からのエスケープ | |
T_OPEN_TAG_WITH_ECHO
|
<?= or <%= | HTML からのエスケープ | |
T_OR_EQUAL
|
= | 代入演算子 | |
T_PAAMAYIM_NEKUDOTAYIM
|
:: | ::。
| |
T_PLUS_EQUAL
|
+= | 代入演算子 | |
T_POW
|
** | 代数演算子 | |
T_POW_EQUAL
|
**= | 代数演算子 | |
T_PRINT
|
print() | ||
T_PRIVATE
|
private | クラスとオブジェクト | |
T_PROTECTED
|
protected | クラスとオブジェクト
(PHP 5.0.0 以降で使用可能) | |
T_PUBLIC
|
public | クラスとオブジェクト | |
T_REQUIRE
|
require() | require | |
T_REQUIRE_ONCE
|
require_once() | require_once | |
T_RETURN
|
return | 値を返す | |
T_SL
|
<< | ビット演算子 | |
T_SL_EQUAL
|
<<= | 代入演算子 | |
T_SPACESHIP
|
<=> | 比較演算子 | |
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) | |
T_TRAIT
|
trait | トレイト | |
T_TRAIT_C
|
__TRAIT__ | __TRAIT__ | |
T_TRY
|
try | 例外(exceptions) | |
T_UNSET
|
unset() | unset() | |
T_UNSET_CAST
|
(unset) | 型キャスト | |
T_USE
|
use | 名前空間 | |
T_VAR
|
var | クラスとオブジェクト | |
T_VARIABLE
|
$foo | 変数 | |
T_WHILE
|
while | while, do..while | |
T_WHITESPACE
|
\t \r\n | ||
T_XOR_EQUAL
|
^= | 代入演算子 | |
T_YIELD
|
yield | ジェネレータ | |
T_YIELD_FROM
|
yield from | ジェネレータ |
token_name() も参照ください。