strtok

(PHP 4, PHP 5, PHP 7)

strtokTokeniza 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() - Divide una cadena en una matriz mediante una expresión regular
  • explode() - Divide un string en varios string