(PHP 4, PHP 5)
strtok — Tokeniza uma string
strtok() divide uma string (str) em strings menores (tokens), com cada token sendo delimitado por qualquer caractere de token. Quer dizer que, se você tem uma string como "Esta é uma string de exemplo" você poderia "tokenizá-la" em suas palavras individuais usando o caractere de espaço como delimitador do token.
Note que só a primeira chamada a strtok usa o argumento string. Cada chamada subseqüente a strtok só precisa do delimitador a ser usado, já que ele mantém o caminho de onde ele está na string atual. Para iniciar novamente, ou tokenizar uma nova string você simplesmente chama strtok com o argumento de string novamente para inicializá-la. Veja que você pode por múltiplos delimitadores como parâmetro. A string será tokenizada quando um dos caracteres no argumento são encontrados.
A string a ser repartida em pequenos pedaços (tokens).
O delimitador usado para repatir a str.
Uma string de token.
Exemplo #1 Exemplo da strtok()
<?php
$string = "This is\tan example\nstring";
/* Use tab e newline como caractere delimitador, que funciona bem */
$tok = strtok($string," \n\t");
while ($tok !== false) {
echo "Word=$tok<br/>";
$tok = strtok(" \n\t");
}
?>
O comportamento quando uma parte vazia foi encontrada mudou com o PHP 4.1.0. O antigo comportamento retornava uma string vazia, enquanto a nova, a correta, simplesmente pula a parte da string:
Exemplo #2 Comportamento antigo da strtok()
<?php
$first_token = strtok('/something', '/');
$second_token = strtok('/');
var_dump ($first_token, $second_token);
?>
O exemplo acima irá imprimir:
string(0) "" string(9) "something"
Exemplo #3 Novo comportamento da strtok()
<?php
$first_token = strtok('/something', '/');
$second_token = strtok('/');
var_dump ($first_token, $second_token);
?>
O exemplo acima irá imprimir:
string(9) "something" bool(false)
Esta função pode retornar o booleano FALSE, mas também pode retornar um valor não-booleano que pode ser avaliado como FALSE, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.