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
Token Syntax Referenz
T_ABSTRACT abstract Klassenabstraktion
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_ARRAY array() array(), Arraysyntax
T_ARRAY_CAST (array) Typumwandlung
T_AS as foreach
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_BREAK break break
T_CALLABLE callable callable
T_CASE case switch
T_CATCH catch Exceptions (Ausnahmen)
T_CLASS class Klassen und Objekte
T_CLASS_C __CLASS__ Magische Konstanten
T_CLONE clone Klassen 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_CONST const Klassenkonstanten
T_CONSTANT_ENCAPSED_STRING "foo" oder 'bar' Stringsyntax
T_CONTINUE continue continue
T_CURLY_OPEN {$ komplexe Variablen-Interpolationssyntax
T_DEC -- Inkrement- bzw. Dekrementoperatoren
T_DECLARE declare declare
T_DEFAULT default switch
T_DIR __DIR__ Magische Konstanten
T_DIV_EQUAL /= Zuweisungsoperatoren
T_DNUMBER 0.12, etc Gleitkommawerte
T_DO do do..while
T_DOC_COMMENT /** */ Kommentare 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_ECHO echo echo
T_ELLIPSIS ... Funktionsargumente
T_ELSE else else
T_ELSEIF elseif elseif
T_EMPTY empty empty()
T_ENCAPSED_AND_WHITESPACE " $a" Konstanter Teil einer Zeichenkette mit Variablen
T_ENDDECLARE enddeclare declare, Alternative Syntax
T_ENDFOR endfor for, Alternative Syntax
T_ENDFOREACH endforeach foreach, Alternative Syntax
T_ENDIF endif if, Alternative Syntax
T_ENDSWITCH endswitch switch, Alternative Syntax
T_ENDWHILE endwhile while, Alternative Syntax
T_ENUM enum Enumerations (verfügbar seit PHP 8.1.0)
T_END_HEREDOC   Heredoc-Syntax
T_EVAL eval() eval()
T_EXIT exit oder die exit(), die()
T_EXTENDS extends extends, Klassen und Objekte
T_FILE __FILE__ Magische Konstanten
T_FINAL final Final-Schlüsselwort
T_FINALLY finally Exceptions (Ausnahmen)
T_FN fn Pfeilfunktionen (verfügbar seit PHP 7.4.0)
T_FOR for for
T_FOREACH foreach foreach
T_FUNCTION function Funktionen
T_FUNC_C __FUNCTION__ Magische Konstanten
T_GLOBAL global Geltungsbereich von Variablen
T_GOTO goto goto
T_HALT_COMPILER __halt_compiler() __halt_compiler
T_IF if if
T_IMPLEMENTS implements Objekt-Interfaces (Schnittstellen)
T_INC ++ Inkrement- bzw. Dekrementoperatoren
T_INCLUDE include() include
T_INCLUDE_ONCE include_once() include_once
T_INLINE_HTML   Text außerhalb von PHP
T_INSTANCEOF instanceof Typoperatoren
T_INSTEADOF insteadof Traits
T_INTERFACE interface Objekt-Interfaces (Schnittstellen)
T_INT_CAST (int) oder (integer) Typumwandlung
T_ISSET isset() 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_LIST list() list()
T_LNUMBER 123, 012, 0x1ac, etc Integerwerte
T_LOGICAL_AND and Logische Operatoren
T_LOGICAL_OR or Logische Operatoren
T_LOGICAL_XOR xor Logische Operatoren
T_MATCH match match (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_NAMESPACE namespace Namensräume
T_NAME_FULLY_QUALIFIED \App\Namespace Namensräume (verfügbar seit PHP 8.0.0)
T_NAME_QUALIFIED App\Namespace namespaces (verfügbar seit PHP 8.0.0)
T_NAME_RELATIVE namespace\Namespace namespaces (verfügbar seit PHP 8.0.0)
T_NEW new Klassen 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_PRINT print() print
T_PRIVATE private Klassen und Objekte
T_PROTECTED protected Klassen und Objekte
T_PUBLIC public Klassen und Objekte
T_READONLY readonly classes and objects (verfügbar seit PHP 8.1.0)
T_REQUIRE require() require
T_REQUIRE_ONCE require_once() require_once
T_RETURN return Rü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_STATIC static Geltungsbereich von Variablen
T_STRING parent, 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 "${a komplexe Variablen-Interpolationssyntax
T_SWITCH switch switch
T_THROW throw Exceptions (Ausnahmen)
T_TRAIT trait Traits
T_TRAIT_C __TRAIT__ __TRAIT__
T_TRY try Exceptions (Ausnahmen)
T_UNSET unset() unset()
T_UNSET_CAST (unset) Typumwandlung
T_USE use Namensräume
T_VAR var Klassen und Objekte
T_VARIABLE $foo Variablen
T_WHILE while while, do..while
T_WHITESPACE \t \r\n  
T_XOR_EQUAL ^= Zuweisungsoperatoren
T_YIELD yield Generatoren
T_YIELD_FROM yield from Generator

Siehe auch token_name().

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

DeepL Erweiterung Write als beta veröffentlicht

DeepL hat eine neuen Dienst Namens „write“ veröffentlicht, der die Rechtschreibung und Grammatik mit KI verbessern soll. ...

admin

Autor : admin
Kategorie: Dies und Das

PHPStan unterstützt PHP 8.2

PHPStan ist ein statischer Code-Analyse-Werkzeug für PHP und unterstützt jetzt PHP bis zu Version 8.2 ...

admin

Autor : admin
Kategorie: Software-Updates

xt:Commerce 6.5 für PHP 8.1 und neuem PayPal Checkout

Die Open Source Online-Shop Software xt:Commerce unterstützt in der Version 6.5 jetzt auch PHP 8.1. und stellt den Support für PHP 7.4 ein. ...

TheMax

Autor : TheMax
Kategorie: Software-Updates

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

Umstellung von PHP 7.x auf PHP 8.x - Uncaught Error: Call to a member function next()

Ich habe jetzt mal beim ursprünglichen Entwickler nachgefragt, befürchte aber, dass ich von ihm keinen Support mehr erhalte. Völlig überrasche ...

Geschrieben von prinzip am 01.02.2023 18:09:59
Forum: PHP Developer Forum
Benötige Hilfe php Skript mit Datenbankanbindung

Danke, ich habe das Problem nun doch selbst gefunden.

Geschrieben von jochen1404 am 01.02.2023 11:45:05
Forum: SQL / Datenbanken
Benötige Hilfe php Skript mit Datenbankanbindung

Hallo zusammen, kann mir jemand sagen woher die Daten der Variablen $first und $last ausgelesen werden. function renderForm($first = '', $last =' ...

Geschrieben von jochen1404 am 01.02.2023 08:29:18
Forum: SQL / Datenbanken
Umstellung von PHP 7.x auf PHP 8.x - Uncaught Error: Call to a member function next()

Merkst du was? Das Ding gehört ins Museum. So ist es. Selbst wenn man diesen Fehler findet und korrigiert, die Wahrscheinlichkeit, dass dann der ...

Geschrieben von scatello am 01.02.2023 07:02:11
Forum: PHP Developer Forum