Liste der Parsertoken

Verschiedene Teile der Sprache PHP werden intern durch Token dargestellt. Ein Codeschnipsel, der eine ungültige Folge von Token enthält, kann zu Fehlern wie dem folgenden führen: Parse error: syntax error, unexpected token "==", expecting "(" in script.php on line 10.", wobei token == intern durch T_IS_EQUAL dargestellt wird.

In der folgenden Tabelle sind alle Token aufgelistet. Sie sind auch als PHP-Konstanten verfügbar.

Hinweis: Verwendung der T_* Konstanten

Der Wert von T_*-Konstanten wird basierend auf der zugrundeliegenden Parser-Infrastruktur von PHP automatisch erzeugt. Das bedeutet, dass sich der konkrete Wert eines Tokens zwischen zwei PHP-Versionen ändern kann. Damit eine gewisse Kompatibilität über mehrere PHP-Versionen gewährleistet ist, sollte sich Code daher niemals direkt auf die Original-T_*-Werte verlassen, die einer PHP-Version X.Y.Z entnommen wurden.

Um T_*-Konstanten über mehrere PHP-Versionen hinweg zu verwenden, können undefinierte Konstanten vom Benutzer mit einer geeigneten Strategie definiert werden (unter Verwendung großer Zahlen wie 10000), die sowohl mit den PHP-Versionen als auch mit den T_*-Werten funktioniert.

<?php
// Vor PHP 7.4.0 ist T_FN nicht definiert.
defined('T_FN') || define('T_FN', 10001);
Token
TokenSyntaxReferenz
T_ABSTRACTabstractKlassenabstraktion
T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG&Type declarations (verfügbar seit PHP 8.1.0)
T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG&Type declarations (verfügbar seit PHP 8.1.0)
T_AND_EQUAL&=Zuweisungsoperatoren
T_ARRAYarray()array(), Arraysyntax
T_ARRAY_CAST(array)Typumwandlung
T_ASasforeach
T_ATTRIBUTE#[Attribute (verfügbar seit PHP 8.0.0)
T_BAD_CHARACTER  Alle Zeichen unterhalb von ASCII 32 mit Ausnahme von \t (0x09), \n (0x0a) und \r (0x0d) (verfügbar seit PHP 7.4.0)
T_BOOLEAN_AND&&Logische Operatoren
T_BOOLEAN_OR||Logische Operatoren
T_BOOL_CAST(bool) or (boolean)Typumwandlung
T_BREAKbreakbreak
T_CALLABLEcallablecallable
T_CASEcaseswitch
T_CATCHcatchExceptions (Ausnahmen)
T_CLASSclassKlassen und Objekte
T_CLASS_C__CLASS__Magische Konstanten
T_CLONEcloneKlassen und Objekte
T_CLOSE_TAG?> oder %>Den HTML-Bereich der Datei verlassen
T_COALESCE??Vergleichsoperatoren
T_COALESCE_EQUAL??=Zuweisungsoperatoren (verfügbar seit PHP 7.4.0)
T_COMMENT// oder #, und Kommentare
T_CONCAT_EQUAL.=Zuweisungsoperatoren
T_CONSTconstKlassenkonstanten
T_CONSTANT_ENCAPSED_STRING"foo" oder 'bar'Stringsyntax
T_CONTINUEcontinuecontinue
T_CURLY_OPEN{$komplexe Variablen-Interpolationssyntax
T_DEC--Inkrement- bzw. Dekrementoperatoren
T_DECLAREdeclaredeclare
T_DEFAULTdefaultswitch
T_DIR__DIR__Magische Konstanten
T_DIV_EQUAL/=Zuweisungsoperatoren
T_DNUMBER0.12, etcGleitkommawerte
T_DOdodo..while
T_DOC_COMMENTKommentare im PHPDoc-Stil
T_DOLLAR_OPEN_CURLY_BRACES${komplexe Variablen-Interpolationssyntax
T_DOUBLE_ARROW=>Arraysyntax
T_DOUBLE_CAST(real), (double) or (float)Typumwandlung
T_DOUBLE_COLON::Siehe T_PAAMAYIM_NEKUDOTAYIM weiter unten
T_ECHOechoecho
T_ELLIPSIS...Funktionsargumente
T_ELSEelseelse
T_ELSEIFelseifelseif
T_EMPTYemptyempty()
T_ENCAPSED_AND_WHITESPACE" $a"Konstanter Teil einer Zeichenkette mit Variablen
T_ENDDECLAREenddeclaredeclare, Alternative Syntax
T_ENDFORendforfor, Alternative Syntax
T_ENDFOREACHendforeachforeach, Alternative Syntax
T_ENDIFendifif, Alternative Syntax
T_ENDSWITCHendswitchswitch, Alternative Syntax
T_ENDWHILEendwhilewhile, Alternative Syntax
T_ENUMenumEnumerations (verfügbar seit PHP 8.1.0)
T_END_HEREDOC Heredoc-Syntax
T_EVALeval()eval()
T_EXITexit oder dieexit(), die()
T_EXTENDSextendsextends, Klassen und Objekte
T_FILE__FILE__Magische Konstanten
T_FINALfinalFinal-Schlüsselwort
T_FINALLYfinallyExceptions (Ausnahmen)
T_FNfnPfeilfunktionen (verfügbar seit PHP 7.4.0)
T_FORforfor
T_FOREACHforeachforeach
T_FUNCTIONfunctionFunktionen
T_FUNC_C__FUNCTION__Magische Konstanten
T_GLOBALglobalGeltungsbereich von Variablen
T_GOTOgotogoto
T_HALT_COMPILER__halt_compiler()__halt_compiler
T_IFifif
T_IMPLEMENTSimplementsObjekt-Interfaces (Schnittstellen)
T_INC++Inkrement- bzw. Dekrementoperatoren
T_INCLUDEincludeinclude
T_INCLUDE_ONCEinclude_onceinclude_once
T_INLINE_HTML Text außerhalb von PHP
T_INSTANCEOFinstanceofTypoperatoren
T_INSTEADOFinsteadofTraits
T_INTERFACEinterfaceObjekt-Interfaces (Schnittstellen)
T_INT_CAST(int) oder (integer)Typumwandlung
T_ISSETisset()isset()
T_IS_EQUAL==Vergleichsoperatoren
T_IS_GREATER_OR_EQUAL>=Vergleichsoperatoren
T_IS_IDENTICAL===Vergleichsoperatoren
T_IS_NOT_EQUAL!= or <>Vergleichsoperatoren
T_IS_NOT_IDENTICAL!==Vergleichsoperatoren
T_IS_SMALLER_OR_EQUAL<=Vergleichsoperatoren
T_LINE__LINE__Magische Konstanten
T_LISTlist()list()
T_LNUMBER123, 012, 0x1ac, etcIntegerwerte
T_LOGICAL_ANDandLogische Operatoren
T_LOGICAL_ORorLogische Operatoren
T_LOGICAL_XORxorLogische Operatoren
T_MATCHmatchmatch (verfügbar seit PHP 8.0.0)
T_METHOD_C__METHOD__Magische Konstanten
T_MINUS_EQUAL-=Zuweisungsoperatoren
T_MOD_EQUAL%=Zuweisungsoperatoren
T_MUL_EQUAL*=Zuweisungsoperatoren
T_NAMESPACEnamespaceNamensräume
T_NAME_FULLY_QUALIFIED\App\NamespaceNamensräume (verfügbar seit PHP 8.0.0)
T_NAME_QUALIFIEDApp\Namespacenamespaces (verfügbar seit PHP 8.0.0)
T_NAME_RELATIVEnamespace\Namespacenamespaces (verfügbar seit PHP 8.0.0)
T_NEWnewKlassen und Objekte
T_NS_C__NAMESPACE__Namensräume
T_NS_SEPARATOR\Namensräume
T_NUM_STRING"$a[0]"Numerischer Array-Index innerhalb einer Zeichenkette
T_OBJECT_CAST(object)Typumwandlung
T_OBJECT_OPERATOR->Klassen und Objekte
T_NULLSAFE_OBJECT_OPERATOR?->Klassen und Objekte
T_OPEN_TAG<?php, <? or <%HTML-Bereich der Datei verlassen
T_OPEN_TAG_WITH_ECHO<?= or <%=HTML-Bereich der Datei verlassen
T_OR_EQUAL|=Zuweisungsoperatoren
T_PAAMAYIM_NEKUDOTAYIM::::. Auch definiert als T_DOUBLE_COLON.
T_PLUS_EQUAL+=Zuweisungsoperatoren
T_POW**Arithmetische Operatoren
T_POW_EQUAL**=Zuweisungsoperatoren
T_PRINTprintprint
T_PRIVATEprivateKlassen und Objekte
T_PROTECTEDprotectedKlassen und Objekte
T_PUBLICpublicKlassen und Objekte
T_READONLYreadonlyclasses and objects (verfügbar seit PHP 8.1.0)
T_REQUIRErequirerequire
T_REQUIRE_ONCErequire_oncerequire_once
T_RETURNreturnRückgabe von Werten
T_SL<<Bitweise Operatoren
T_SL_EQUAL<<=Zuweisungsoperatoren
T_SPACESHIP<=>Vergleichsoperatoren
T_SR>>Bitweise Operatoren
T_SR_EQUAL>>=Zuweisungsoperatoren
T_START_HEREDOC<<<Heredoc-Syntax
T_STATICstaticGeltungsbereich von Variablen
T_STRINGparent, self, etc. Dabei handelt es sich um Bezeichner, z. B. Schlüsselwörter wie parent und self, Funktionsnamen, Klassennamen usw. Vgl. T_CONSTANT_ENCAPSED_STRING.
T_STRING_CAST(string)Typumwandlung
T_STRING_VARNAME"${akomplexe Variablen-Interpolationssyntax
T_SWITCHswitchswitch
T_THROWthrowExceptions (Ausnahmen)
T_TRAITtraitTraits
T_TRAIT_C__TRAIT____TRAIT__
T_TRYtryExceptions (Ausnahmen)
T_UNSETunset()unset()
T_UNSET_CAST(unset)Typumwandlung
T_USEuseNamensräume
T_VARvarKlassen und Objekte
T_VARIABLE$fooVariablen
T_WHILEwhilewhile, do..while
T_WHITESPACE\t \r\n 
T_XOR_EQUAL^=Zuweisungsoperatoren
T_YIELDyieldGeneratoren
T_YIELD_FROMyield fromGenerator

Siehe auch token_name().

To Top