Documentación offline PHP master

token_get_all

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

token_get_all

Divide la fuente dada en tokens PHP

Descripción#

token_get_all(string $code, [int $flags]): array
```php

`token_get_all` parsea el string de la `source` dada en tokens PHP usando el escaneador de léxico de Zend Engine.

Para ver la lista de los tokens analizados, vea [???](#tokens), o use `token_name` para traducir un valor token en su representación en string.

## Parámetros

`source`  
La fuente PHP a analizar.

`flags`  
Banderas válidas:

- `TOKEN_PARSE` - Reconoce la capacidad de usar palabras reservadas en contextos específicos.

## Valores devueltos

Un array de tokens identificadores. Cada token identificador individual es al mismo tiempo un carácter único (por ejemplo: `;`, `.`, `>`, `!`, etc...), un array de tres elementos conteniendo el índice de token en el elemento 0, el contenido del string del token original en el elemento 1 y el número de línea en el elemento 2.

## Ejemplos

`token_get_all` ejemplos

');

foreach ($tokens as $token) { if (is_array($token)) { echo "Line {$token[2]}: ", token_name($token[0]), " ('{$token[1]}')", PHP_EOL; } } ?>

Resultado del ejemplo anterior es similar a:

    Line 1: T_OPEN_TAG ('<?php ')
    Line 1: T_ECHO ('echo')
    Line 1: T_WHITESPACE (' ')
    Line 1: T_CLOSE_TAG ('?>')

`token_get_all` ejemplo de uso incorrecto
Resultado del ejemplo anterior es similar a:

    Line 1: T_INLINE_HTML ('/* comment */')

Ten en cuenta en el ejemplo anterior que la cadena se analiza como `T_INLINE_HTML` en lugar del esperado `T_COMMENT`. Esto se debe a que no se utilizó ninguna etiqueta de apertura en el código proporcionado. Esto sería equivalente a colocar un comentario fuera de las etiquetas PHP en un archivo normal.

`token_get_all` en un ejemplo de clase que usa una palabra reservada

```php

Resultado del ejemplo anterior es similar a:

T_OPEN_TAG
T_WHITESPACE
T_CLASS
T_WHITESPACE
T_STRING
T_CONST
T_WHITESPACE
T_STRING
T_LNUMBER

Sin la bandera TOKEN_PARSE, el penúltimo token (T_STRING) habría sido T_PUBLIC.

Véase también#

PhpToken::tokenize, token_name