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
): arrayParameters
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