Список меток (tokens) парсера

Разные части языка PHP внутренне представлены токенами. Фрагмент кода, который содержит недопустимую последовательность токенов, может привести к ошибкам наподобие Parse error: syntax error, unexpected token "==", expecting "(" in script.php on line 10.", где токен == внутренне представлен как T_IS_EQUAL.

В следующей таблице перечислены все токены. Они также доступны как константы PHP.

Замечание: Использование T_* констант

Значения T_* констант автоматически генерируются на основе базовой инфраструктуры синтаксического анализатора PHP. Это означает, что конкретное значение метки может изменяться между двумя версиями PHP. Это означает, что ваш код никогда не должен напрямую полагаться на исходные значения T_*, взятые из версии PHP X.Y.Z, чтобы обеспечить некоторую совместимость между несколькими версиями PHP.

Чтобы использовать T_* константы в нескольких версиях PHP, неопределённые константы могут быть определены пользователем (с использованием больших чисел, таких как 10000) с соответствующей стратегией, которая будет работать как с версиями PHP, так и со значениями T_*.

<?php

// До PHP 7.4.0 значение T_FN не определено.
defined('T_FN') || define('T_FN', 10001);

?>
Метки
МеткаСинтаксисСсылка
T_ABSTRACTabstractАбстрактные классы
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_ARRAYarray()array(), синтаксис массива
T_ARRAY_CAST(array)приведение типа
T_ASasforeach
T_ATTRIBUTE#[attributes (доступно с PHP 8.0.0)
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) или (boolean)приведение типа
T_BREAKbreakbreak
T_CALLABLEcallablecallable
T_CASEcaseswitch
T_CATCHcatchИсключения
T_CLASSclassклассы и объекты
T_CLASS_C__CLASS__магические константы
T_CLONEcloneклассы и объекты
T_CLOSE_TAG?> или %>PHP-код внутри HTML
T_COALESCE??операторы сравнения
T_COALESCE_EQUAL??=операторы присваивания (доступно с PHP 7.4.0)
T_COMMENT// или #, и комментарии
T_CONCAT_EQUAL.=операторы присваивания
T_CONSTconstконстанты класса
T_CONSTANT_ENCAPSED_STRING"foo" или 'bar'строковой синтаксис
T_CONTINUEcontinuecontinue
T_CURLY_OPEN{$переменные внутри строки
T_DEC--операторы инкремента\декремента
T_DECLAREdeclaredeclare
T_DEFAULTdefaultswitch
T_DIR__DIR__магические константы
T_DIV_EQUAL/=операторы присваивания
T_DNUMBER0.12 и т.д.числа с плавающей точкой
T_DOdodo..while
T_DOC_COMMENTPHPDoc-комментарии
T_DOLLAR_OPEN_CURLY_BRACES${переменная внутри строки
T_DOUBLE_ARROW=>синтаксис массивов
T_DOUBLE_CAST(real), (double) или (float)приведение типов
T_DOUBLE_COLON::смотрите ниже T_PAAMAYIM_NEKUDOTAYIM
T_ECHOechoecho
T_ELLIPSIS...аргументы функции
T_ELSEelseelse
T_ELSEIFelseifelseif
T_EMPTYemptyempty()
T_ENCAPSED_AND_WHITESPACE" $a"константная часть строки с переменными
T_ENDDECLAREenddeclaredeclare, альтернативный синтаксис
T_ENDFORendforfor, альтернативный синтаксис
T_ENDFOREACHendforeachforeach, альтернативный синтаксис
T_ENDIFendifif, альтернативный синтаксис
T_ENDSWITCHendswitchswitch, альтернативный синтаксис
T_ENDWHILEendwhilewhile, альтернативный синтаксис
T_ENUMenumПеречисления (доступно, начиная с PHP 8.1.0)
T_END_HEREDOC синтаксис heredoc
T_EVALeval()eval()
T_EXITexit или dieexit(), die()
T_EXTENDSextendsextends, классы и объекты
T_FILE__FILE__магические константы
T_FINALfinalКлючевое слово final
T_FINALLYfinallyИсключения
T_FNfnстрелочные функции (доступно с PHP 7.4.0)
T_FORforfor
T_FOREACHforeachforeach
T_FUNCTIONfunctionфункции
T_FUNC_C__FUNCTION__магические константы
T_GLOBALglobalобласть видимости переменной
T_GOTOgotogoto
T_HALT_COMPILER__halt_compiler()__halt_compiler
T_IFifif
T_IMPLEMENTSimplementsИнтерфейсы объектов
T_INC++операторы инкремента\декремента
T_INCLUDEincludeinclude
T_INCLUDE_ONCEinclude_onceinclude_once
T_INLINE_HTML текст вне PHP
T_INSTANCEOFinstanceofоператоры типа
T_INSTEADOFinsteadofТрейты
T_INTERFACEinterfaceИнтерфейсы объектов
T_INT_CAST(int) или (integer)приведение типов
T_ISSETisset()isset()
T_IS_EQUAL==операторы сравнения
T_IS_GREATER_OR_EQUAL>=операторы сравнения
T_IS_IDENTICAL===операторы сравнения
T_IS_NOT_EQUAL!= или <>операторы сравнения
T_IS_NOT_IDENTICAL!==операторы сравнения
T_IS_SMALLER_OR_EQUAL<=операторы сравнения
T_LINE__LINE__магические константы
T_LISTlist()list()
T_LNUMBER123, 012, 0x1ac и т.д.целые числа
T_LOGICAL_ANDandлогические операторы
T_LOGICAL_ORorлогические операторы
T_LOGICAL_XORxorлогические операторы
T_MATCHmatchmatch (доступно с PHP 8.0.0)
T_METHOD_C__METHOD__магические константы
T_MINUS_EQUAL-=операторы присваивания
T_MOD_EQUAL%=операторы присваивания
T_MUL_EQUAL*=операторы присваивания
T_NAMESPACEnamespaceпространства имён
T_NAME_FULLY_QUALIFIED\App\Namespaceпространства имён (доступно, начиная с PHP 8.0.0)
T_NAME_QUALIFIEDApp\Namespaceпространства имён (доступно, начиная с PHP 8.0.0)
T_NAME_RELATIVEnamespace\Namespaceпространства имён (доступно, начиная с PHP 8.0.0)
T_NEWnewклассы и объекты
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, <? или <%PHP-код внутри HTML
T_OPEN_TAG_WITH_ECHO<?= или <%=PHP-код внутри HTML
T_OR_EQUAL|=операторы присваивания
T_PAAMAYIM_NEKUDOTAYIM::::. Также определяется как T_DOUBLE_COLON.
T_PLUS_EQUAL+=операторы присваивания
T_POW**арифметические операторы
T_POW_EQUAL**=операторы присваивания
T_PRINTprintprint
T_PRIVATEprivateклассы и объекты
T_PROTECTEDprotectedклассы и объекты
T_PUBLICpublicклассы и объекты
T_READONLYreadonlyклассы и объекты (доступно, начиная с PHP 8.1.0)
T_REQUIRErequirerequire
T_REQUIRE_ONCErequire_oncerequire_once
T_RETURNreturnвозвращаемые значения
T_SL<<побитовые операторы
T_SL_EQUAL<<=операторы присваивания
T_SPACESHIP<=>Операторы сравнения
T_SR>>побитовые операторы
T_SR_EQUAL>>=операторы присваивания
T_START_HEREDOC<<<синтаксис heredoc
T_STATICstaticобласть видимости переменной
T_STRINGparent, self и т.п.. идентификаторы, например, ключевые слова вроде parent и self, сюда подходят также имена функций, классов и некоторые другие. Смотрите также T_CONSTANT_ENCAPSED_STRING
T_STRING_CAST(string)приведение типов
T_STRING_VARNAME"${aпеременные внутри строки
T_SWITCHswitchswitch
T_THROWthrowИсключения
T_TRAITtraitТрейты
T_TRAIT_C__TRAIT____TRAIT__
T_TRYtryИсключения
T_UNSETunset()unset()
T_UNSET_CAST(unset)приведение типов
T_USEuseпространства имён
T_VARvarклассы и объекты
T_VARIABLE$fooпеременные
T_WHILEwhilewhile, do..while
T_WHITESPACE\t \r\n 
T_XOR_EQUAL^=операторы присваивания
T_YIELDyieldгенераторы
T_YIELD_FROMyield fromgenerators

Смотрите также описание функции token_name().

To Top