PHP - Tokenizer token_name() Functions
The PHP Tokenizer token_name() function is used to get the name of a token. Tokens are the smallest units of a programming language, like keywords, operators, and identifiers. This function helps identify these tokens by returning a human-readable name for every single value.
Syntax
Below is the syntax of the PHP Tokenizer token_name() function −
string token_name(int $id)
Parameters
This function accepts $id parameter which is the numeric value of the token that you want to know the name for.
Return Value
The token_name() function returns the symbolic name of the given id.
PHP Version
First introduced in core PHP 4.2.0, the token_name() function continues to function easily in PHP 5, PHP 7, and PHP 8.
Example 1
First we will show you the basic example of the PHP Tokenizer token_name() function to get name of the token.
<?php // Here 260 is the token value echo token_name(260). "\n"; // A constant token corresponds to its own name. echo token_name(T_FUNCTION); ?>
Output
After running the above program, it generates the following output −
T_LNUMBER T_FUNCTION
Example 2
In the below example we will show you how to use token_name() with token_get_all() to tokenize a small PHP code and print the token names.
<?php
// Define a block of PHP code
$code = '<?php echo $hello; ?>';
$tokens = token_get_all($code);
foreach ($tokens as $token) {
if (is_array($token)) {
echo token_name($token[0]) . ': ' . $token[1] . "\n";
} else {
echo $token . "\n";
}
}
?>
Output
The above code will result something like this −
T_OPEN_TAG: <?php T_ECHO: echo T_WHITESPACE: T_VARIABLE: $hello ; T_WHITESPACE: T_CLOSE_TAG: ?>
Example 3
Now the below code to tokenize a PHP function definition and get the names of the tokens with the help of token_name() function.
<?php
// Define a PHP code block here
$code = '<?php function greet() { echo "Hello, World!"; } ?>';
$tokens = token_get_all($code);
foreach ($tokens as $token) {
if (is_array($token)) {
echo token_name($token[0]) . ': ' . $token[1] . "\n";
} else {
echo $token . "\n";
}
}
?>
Output
This will create the below output −
T_OPEN_TAG: <?php
T_FUNCTION: function
T_WHITESPACE:
T_STRING: greet
(
)
T_WHITESPACE:
{
T_WHITESPACE:
T_ECHO: echo
T_WHITESPACE:
T_CONSTANT_ENCAPSED_STRING: "Hello, World!"
;
T_WHITESPACE:
}
T_WHITESPACE:
T_CLOSE_TAG: ?>
Example 4
This example shows how to tokenize a PHP class definition and print the token names using the token_name() function.
<?php
// Define a PHP code block here
$code = '<?php class MyClass { private $var; function myMethod() {} } ?>';
$tokens = token_get_all($code);
foreach ($tokens as $token) {
if (is_array($token)) {
echo token_name($token[0]) . ': ' . $token[1] . "\n";
} else {
echo $token . "\n";
}
}
?>
Output
When the above program is executed, it will produce the below output −
T_OPEN_TAG: <?php
T_CLASS: class
T_WHITESPACE:
T_STRING: MyClass
T_WHITESPACE:
{
T_WHITESPACE:
T_PRIVATE: private
T_WHITESPACE:
T_VARIABLE: $var
;
T_WHITESPACE:
T_FUNCTION: function
T_WHITESPACE:
T_STRING: myMethod
(
)
T_WHITESPACE:
{
}
T_WHITESPACE:
}
T_WHITESPACE:
T_CLOSE_TAG: ?>