strtok

(PHP 3, PHP 4, PHP 5)

strtok -- Tokenize string

Description

string strtok ( string str, string token )

strtok() splits a string (str) into smaller strings (tokens), with each token being delimited by any character from token. That is, if you have a string like "This is an example string" you could tokenize this string into its individual words by using the space character as the token.

例子 1. strtok() example

<?php
$string 
"This is\tan example\nstring";
/* Use tab and newline as tokenizing characters as well  */
$tok strtok($string" \n\t");

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

Note that only the first call to strtok uses the string argument. Every subsequent call to strtok only needs the token to use, as it keeps track of where it is in the current string. To start over, or to tokenize a new string you simply call strtok with the string argument again to initialize it. Note that you may put multiple tokens in the token parameter. The string will be tokenized when any one of the characters in the argument are found.

The behavior when an empty part was found changed with PHP 4.1.0. The old behavior returned an empty string, while the new, correct, behavior simply skips the part of the string:

例子 2. Old strtok() behavior

<?php
$first_token  
strtok('/something''/');
$second_token strtok('/');
var_dump($first_token$second_token);
?>

Output:

string(0) ""
    string(9) "something"

例子 3. New strtok() behavior

<?php
$first_token  
strtok('/something''/');
$second_token strtok('/');
var_dump($first_token$second_token);
?>

Output:

string(9) "something"
    bool(false)

警示

本函數可能返回布林值 FALSE,但也可能返回一個與 FALSE 等值的非布林值,例如 0 或是 ""。請參閱布爾類型章節以取得更多訊息。應使用 === 運算符來測試本函數的返回值。

See also split() and explode().