token_get_all
Description
The token_get_all of Tokenizer for PHP split given source into PHP tokens.
Syntax
token_get_all( string $code, int $flags = 0 ): array
Parameters
code
The PHP source to parse.
flags
Constant | Description |
---|---|
TOKEN_PARSE | Recognizes the ability to use reserved words in specific contexts. |
Return
An array of token identifiers. Each individual token identifier is either a single character (i.e.: ;, ., >, !, etc...), or a three element array containing the token index in element 0, the string content of the original token in element 1 and the line number in element 2.
Examples
1 · code
<? $code = "<? class myclass { const PUBLIC = 1; }"; $return = token_get_all($code); print_r($return);
Array ( [0] => Array ( [0] => 398 [1] => <? [2] => 1 ) [1] => Array ( [0] => 401 [1] => [2] => 1 ) [2] => Array ( [0] => 372 [1] => class [2] => 2 ) [3] => Array ( [0] => 401 [1] => [2] => 2 ) [4] => Array ( [0] => 313 [1] => myclass [2] => 2 ) [5] => Array ( [0] => 401 [1] => [2] => 2 ) [6] => { [7] => Array ( [0] => 401 [1] => [2] => 3 ) [8] => Array ( [0] => 349 [1] => const [2] => 4 ) [9] => Array ( [0] => 401 [1] => [2] => 4 ) [10] => Array ( [0] => 362 [1] => PUBLIC [2] => 4 ) [11] => Array ( [0] => 401 [1] => [2] => 4 ) [12] => = [13] => Array ( [0] => 401 [1] => [2] => 4 ) [14] => Array ( [0] => 311 [1] => 1 [2] => 4 ) [15] => ; [16] => Array ( [0] => 401 [1] => [2] => 4 ) [17] => } )
2 · flags · 0
<? $code = "<? class myclass { const PUBLIC = 1; }"; $flags = 0; $return = token_get_all($code, $flags); print_r($return);
Array ( [0] => Array ( [0] => 398 [1] => <? [2] => 1 ) [1] => Array ( [0] => 401 [1] => [2] => 1 ) [2] => Array ( [0] => 372 [1] => class [2] => 2 ) [3] => Array ( [0] => 401 [1] => [2] => 2 ) [4] => Array ( [0] => 313 [1] => myclass [2] => 2 ) [5] => Array ( [0] => 401 [1] => [2] => 2 ) [6] => { [7] => Array ( [0] => 401 [1] => [2] => 3 ) [8] => Array ( [0] => 349 [1] => const [2] => 4 ) [9] => Array ( [0] => 401 [1] => [2] => 4 ) [10] => Array ( [0] => 362 [1] => PUBLIC [2] => 4 ) [11] => Array ( [0] => 401 [1] => [2] => 4 ) [12] => = [13] => Array ( [0] => 401 [1] => [2] => 4 ) [14] => Array ( [0] => 311 [1] => 1 [2] => 4 ) [15] => ; [16] => Array ( [0] => 401 [1] => [2] => 4 ) [17] => } )
3 · flags · TOKEN_PARSE
<? $code = "<? class myclass { const PUBLIC = 1; }"; $flags = TOKEN_PARSE; $return = token_get_all($code, $flags); print_r($return);
Array ( [0] => Array ( [0] => 398 [1] => <? [2] => 1 ) [1] => Array ( [0] => 401 [1] => [2] => 1 ) [2] => Array ( [0] => 372 [1] => class [2] => 2 ) [3] => Array ( [0] => 401 [1] => [2] => 2 ) [4] => Array ( [0] => 313 [1] => myclass [2] => 2 ) [5] => Array ( [0] => 401 [1] => [2] => 2 ) [6] => { [7] => Array ( [0] => 401 [1] => [2] => 3 ) [8] => Array ( [0] => 349 [1] => const [2] => 4 ) [9] => Array ( [0] => 401 [1] => [2] => 4 ) [10] => Array ( [0] => 313 [1] => PUBLIC [2] => 4 ) [11] => Array ( [0] => 401 [1] => [2] => 4 ) [12] => = [13] => Array ( [0] => 401 [1] => [2] => 4 ) [14] => Array ( [0] => 311 [1] => 1 [2] => 4 ) [15] => ; [16] => Array ( [0] => 401 [1] => [2] => 4 ) [17] => } )
4 · token_name · flags · 0
<? $code = "<? class myclass { const PUBLIC = 1; }"; $flags = 0; $return = token_get_all($code, $flags); foreach($return as $value) { if(is_array($value)) { $string = $value[2]; $string .= ":" . token_name($value[0]); //$string .= ":" . $value[1]; $string .= PHP_EOL; echo $string; } else { //echo $value . PHP_EOL; } }
1:T_OPEN_TAG 1:T_WHITESPACE 2:T_CLASS 2:T_WHITESPACE 2:T_STRING 2:T_WHITESPACE 3:T_WHITESPACE 4:T_CONST 4:T_WHITESPACE 4:T_PUBLIC 4:T_WHITESPACE 4:T_WHITESPACE 4:T_LNUMBER 4:T_WHITESPACE
5 · token_name · flags · TOKEN_PARSE
<? $code = "<? class myclass { const PUBLIC = 1; }"; $flags = TOKEN_PARSE; $return = token_get_all($code, $flags); foreach($return as $value) { if(is_array($value)) { $string = $value[2]; $string .= ":" . token_name($value[0]); //$string .= ":" . $value[1]; $string .= PHP_EOL; echo $string; } else { //echo $value . PHP_EOL; } }
1:T_OPEN_TAG 1:T_WHITESPACE 2:T_CLASS 2:T_WHITESPACE 2:T_STRING 2:T_WHITESPACE 3:T_WHITESPACE 4:T_CONST 4:T_WHITESPACE 4:T_STRING 4:T_WHITESPACE 4:T_WHITESPACE 4:T_LNUMBER 4:T_WHITESPACE