PHP 语言的各个部分在内部使用记号表示。包含无效序列的代码片段可能会导致错误。例如 Parse error:
syntax error, unexpected token "==", expecting "(" in script.php on line
10."
。其中记号 ==
在内部由 T_IS_EQUAL
表示。
下表列出的所有记号。也可以用作 PHP 常量。
注意: T_* 常量用法
T_* 常量是根据 PHP 底层解析器数据结构自动生成的。这意味着记号的具体值可能会在不同的 PHP 版本之间发生变更。这也意味着代码不应直接从 PHP X.Y.Z 版本中获取原始 T_* 值,从而提供跨越多个版本的兼容性。
为了在多个 PHP 版本中使用 T_* 常量,用户可以对 PHP 版本和 T_* 值使用适当的策略(使用类似
10000
的大数),来定义未定义的常量。<?php
// 在 PHP 7.4.0 之前,未定义 T_FN。
defined('T_FN') || define('T_FN', 10001);
记号 | 语法 | 参考 |
---|---|---|
T_ABSTRACT |
abstract | 抽象类 |
T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG |
& | 类型声明(自 PHP 8.1.0 起有效) |
T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG |
& | 类型声明(自 PHP 8.1.0 起有效) |
T_AND_EQUAL |
&= | 赋值运算符 |
T_ARRAY |
array() | array(),数组语法 |
T_ARRAY_CAST |
(array) | 类型转换 |
T_AS |
as | foreach |
T_ATTRIBUTE |
#[ | 属性(自 PHP 8.0.0 起有效) |
T_BAD_CHARACTER |
除了 \t(0x09)、\n(0x0a)、\r(0x0d)之外所有低于 ASCII 32 的内容(自 PHP 7.4.0 起有效) | |
T_BOOLEAN_AND |
&& | 逻辑运算符 |
T_BOOLEAN_OR |
|| | 逻辑运算符 |
T_BOOL_CAST |
(bool) 或 (boolean) | 类型转换 |
T_BREAK |
break | break |
T_CALLABLE |
callable | callable |
T_CASE |
case | switch |
T_CATCH |
catch | 异常 |
T_CLASS |
class | 类和对象 |
T_CLASS_C |
__CLASS__ | 魔术常量 |
T_CLONE |
clone | 类和对象 |
T_CLOSE_TAG |
?> 或 %> | 从 HTML 中转义 |
T_COALESCE |
?? | 比较运算符 |
T_COALESCE_EQUAL |
??= | 赋值运算符 (自 PHP 7.4.0 起有效) |
T_COMMENT |
// 或 # 以及 /* */ | 注释 |
T_CONCAT_EQUAL |
.= | 赋值运算符 |
T_CONST |
const | 类常量 |
T_CONSTANT_ENCAPSED_STRING |
"foo" 或 '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 等 | 浮点数 |
T_DO |
do | do..while |
T_DOC_COMMENT |
/** */ | PHPDoc 风格注释 |
T_DOLLAR_OPEN_CURLY_BRACES |
${ | 复杂变量解析语法 |
T_DOUBLE_ARROW |
=> | 数组语法 |
T_DOUBLE_CAST |
(real)、(double) 或 (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_ENUM |
enum | 枚举(自 PHP 8.1.0 起有效) |
T_END_HEREDOC |
heredoc 语法 | |
T_EVAL |
eval() | eval() |
T_EXIT |
exit 或 die | exit()、die() |
T_EXTENDS |
extends | extends、类和对象 |
T_FILE |
__FILE__ | 魔法常量 |
T_FINAL |
final | Final 关键字 |
T_FINALLY |
finally | 异常 |
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 |
text outside PHP | |
T_INSTANCEOF |
instanceof | 类型运算符 |
T_INSTEADOF |
insteadof | Trait |
T_INTERFACE |
interface | 对象接口 |
T_INT_CAST |
(int) 或 (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 等 | 整型 |
T_LOGICAL_AND |
and | 逻辑运算符 |
T_LOGICAL_OR |
or | 逻辑运算符 |
T_LOGICAL_XOR |
xor | 逻辑运算符 |
T_MATCH |
match | match(自 PHP 8.0.0 起有效) |
T_METHOD_C |
__METHOD__ | 魔术常量 |
T_MINUS_EQUAL |
-= | 赋值运算符 |
T_MOD_EQUAL |
%= | 赋值运算符 |
T_MUL_EQUAL |
*= | 赋值运算符 |
T_NAMESPACE |
namespace | 命名空间 |
T_NAME_FULLY_QUALIFIED |
\App\Namespace | 命名空间(自 PHP 8.0.0 起有效) |
T_NAME_QUALIFIED |
App\Namespace | 命名空间(自 PHP 8.0.0 起有效) |
T_NAME_RELATIVE |
namespace\Namespace | 命名空间(自 PHP 8.0.0 起有效) |
T_NEW |
new | 类和对象 |
T_NS_C |
__NAMESPACE__ | 命名空间 |
T_NS_SEPARATOR |
\ | 命名空间 |
T_NUM_STRING |
"$a[0]" | 字符串内的数组数字索引 |
T_OBJECT_CAST |
(object) | 类型转换 |
T_OBJECT_OPERATOR |
-> | 类和对象 |
T_NULLSAFE_OBJECT_OPERATOR |
?-> | 类和对象 |
T_OPEN_TAG |
<?php, <? 或 <% | 从 HTML 中转义 |
T_OPEN_TAG_WITH_ECHO |
<?= 或 <%= | 从 HTML 中转义 |
T_OR_EQUAL |
|= | 赋值运算符 |
T_PAAMAYIM_NEKUDOTAYIM |
:: | ::。也定义为
T_DOUBLE_COLON 。 |
T_PLUS_EQUAL |
+= | 赋值运算符 |
T_POW |
** | 算术运算符 |
T_POW_EQUAL |
**= | 赋值运算符 |
T_PRINT |
print() | |
T_PRIVATE |
private | 类和对象 |
T_PROTECTED |
protected | 类和对象 |
T_PUBLIC |
public | 类和对象 |
T_READONLY |
readonly | 类和对象(自 PHP 8.1.0 起有效) |
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、self 等 |
标识符,比如像 parent 和
self 、函数名,类名等等的关键字。参阅
T_CONSTANT_ENCAPSED_STRING .
|
T_STRING_CAST |
(string) | 类型转换 |
T_STRING_VARNAME |
"${a | 复杂变量解析语法 |
T_SWITCH |
switch | switch |
T_THROW |
throw | 异常 |
T_TRAIT |
trait | Trait |
T_TRAIT_C |
__TRAIT__ | __TRAIT__ |
T_TRY |
try | 异常 |
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()。