strtok

strtok

(PHP 3, PHP 4, PHP 5)

strtok -- Divide una cadena en elementos

Descripci贸n

string strtok ( string cadena, string elemento )

strtok() se usa para dividir una cadena en elementos m谩s peque帽os, en los que cada elemento est谩 delimitado por cualquier car谩cter del par谩metro elemento. Es decir, que si tiene una cadena como "Esta es una cadena de ejemplo", podr铆a dividirla en palabras individuales utilizando el espacio como divisor.

Ejemplo 1. Ejemplo de strtok()

<?php
$cadena
= "Esta es\tuna cadena de\nejemplo";
/* Se emplea el tabulador y la nueva linea como elementos divisores  */
$tok = strtok ($cadena," ");

while (
$tok !== false) {
    echo
"Palabra=$tok<br />";
    
$tok = strtok(" \n\t");
}
?>

N贸tese que s贸lo la primera llamada a strtok utiliza el argumento cadena. Cada llamada subsiguiente necesita s贸lo el divisor a utilizar, puesto que ella guarda la posici贸n actual en la cadena. Para comenzar de nuevo o para dividir otra cadena, simplemente llame a strtok con el argumento de cadena y se inicializar谩. N贸tese que puede poner m煤ltiples divisores como par谩metro. La cadena ser谩 dividida cuando alguno de los caracteres del argumento sea hallado.

El comportamiento de la funci贸n cuando encuentra un trozo vac铆o se modific贸 en la versi贸n PHP 4.1.0. El anterior comportamiento devolv铆a una cadena vac铆a y el nuevo (y correcto) comportamiento consiste en no tener en cuenta esa parte de la cadena:

Ejemplo 2. Anterior comportamietno de strtok()

<?php
$primer_token  
= strtok('/algo', '/');
$segundo_token = strtok('/');
var_dump($primer_token, $segundo_token);
?>

Salida:

string(0) ""
    string(9) "algo"

Ejemplo 3. Nuevo comportamiento de strtok()

<?php
$primer_token  
= strtok('/algo', '/');
$segundo_token = strtok('/');
var_dump($primer_token, $segundo_token);
?>

Salida:

string(9) "algo"
    bool(false)

Aviso

Esta funci贸n puede devolver FALSE, pero tambi茅n puede devolver un valor no-booleano que ser谩 evaluado FALSE, como por ejemplo 0 o "". Por favor, lea la secci贸n Booleans para m谩s informaci贸n. Utilice el operador === para comprobar el valor devuelto por esta funci贸n.

Vea tambi茅n split() y explode().