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: ?>
php_function_reference.htm
Advertisements