(PHP 4, PHP 5, PHP 7)
strtok — Tokeniza uma string
$str
, string $token
)
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.
str
A string a ser repartida em pequenos pedaços (tokens).
token
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.