strtok

(PHP 4, PHP 5, PHP 7)

strtokTokeniza uma string

Descrição

strtok ( string $str , string $token ) : 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.

Parâmetros

str

A string a ser repartida em pequenos pedaços (tokens).

token

O delimitador usado para repatir a str.

Valor Retornado

Uma string de token.

Exemplos

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)

Notas

Aviso

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.

Veja Também

  • split() - Separa strings em array utilizando expressões regulares
  • explode() - Divide uma string em strings