# strtok

(PHP 4, PHP 5, PHP 7, PHP 8)

strtok — Tokeniza string

### Descripción

strtok(string `$str`, string `$token`): string
strtok(string `$token`): string

strtok() divide un string (`str`) en strings más pequeños (tokens), con cada token delimitado por cualquier caracter de `token`. Es decir, si se tiene un string como "Este es un string de ejemplo", se puede tokenizar en sus palabras individuales utilizando el caracter de espacio como el token.

Nótese que sólo la primera llamada a strtok utiliza el argumento string. Cada llamada subsecuente a strtok sólo necesita el token a utilizar, ya que realiza un seguimiento del lugar en que se encuentra en el string actual. Para volver a empezar, o para dividir una cadena nueva, simplemente se llama a strtok de nuevo con el argumento string para inicializarlo. Tener en cuenta que se pueden poner tokens múltiples como parámetro. El string será tokenizado cuando cualquiera de los caracteres en el argumento sea encontrado.

### Parámetros

`str`

  El string a ser dividido en strings más pequeños (tokens).

`token`

  El delimitador usado cuando se divide `str`.

### Valores devueltos

Un token de string.

### Ejemplos

Ejemplo #1 Ejemplo de strtok()

`<?php
$string = "This is\tan example\nstring";
/* Utiliza tabulador y nueva línea como caracteres de tokenización, así */
$tok = strtok($string, " \n\t");
while ($tok !== false) {
echo "Word=$tok<br />";
$tok = strtok(" \n\t");
}
?>`

El comportamiento cuando se encuentra una parte vacía, cambió con PHP 4.1.0. El comportamiento anterior devolvía una cadena vacía, mientras que el comportamiento nuevo y correcto simplemente se salta esa parte del string:

Ejemplo #2 Comportamiento anterior de strtok()

`<?php
$first_token = strtok('/something', '/');
$second_token = strtok('/');
var_dump($first_token, $second_token);
?>`

El resultado del ejemplo sería:

    string(0) ""
        string(9) "something"

Ejemplo #3 Comportamiento nuevo de strtok()

`<?php
$first_token = strtok('/something', '/');
$second_token = strtok('/');
var_dump($first_token, $second_token);
?>`

El resultado del ejemplo sería:

    string(9) "something"
        bool(false)

### Notas

Advertencia

Esta función puede devolver el valor booleano `false`, pero también puede devolver un valor no booleano que se evalúa como `false`. Por favor lea la sección sobre Booleanos para más información. Use el operador === para comprobar el valor devuelto por esta función.

### Ver también

- split()
- explode() - Divide un string en varios string