(PHP 4, PHP 5)
strtok — Divide una cadena en elementos
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.
Example#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:
Example#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"
Example#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)
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.