strtok

(PHP 4, PHP 5, PHP 7, PHP 8)

strtok标记分割字符串

说明

strtok ( string $string , string $token ) : string|false

可选 token (不支持命名参数):

strtok ( string $token ) : string|false

strtok() 将字符串 string 分割为若干子字符串,每个子字符串以 token 中的字符分割。这也就意味着,如果有个字符串是 "This is an example string", 你可以使用空格字符作为 token,将这句话分割成独立的单词。

注意,仅第一次调用 strtok 函数时才使用 string 参数。 随后每次调用 strtok 都将只使用 token 参数,因为它会记住它在当前字符串中的位置。 如果要重新开始分割一个新的字符串,你需要再次使用 string 参数来调用 strtok 函数来对其进行初始化。 注意,可以在 token 参数中使用多个字符。字符串将被 token 参数中任何一个字符分割。

参数

string

被分成若干子字符串的原始字符串

token

分割 string 时使用的分界字符。

返回值

标记后的字符串,如果没有更多标记可用,则返回 false

范例

示例 #1 strtok() 示例

<?php
$string 
"This is\tan example\nstring";
/* 使用制表符和换行符作为分界符 */
$tok strtok($string" \n\t");

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

示例 #2 当 strtok() 找不到标记时的反应

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

以上例程会输出:

    string(9) "something"
    bool(false)

注释

警告

此函数可能返回布尔值 false,但也可能返回等同于 false 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用 === 运算符来测试此函数的返回值。

参见

  • split() - 用正则表达式将字符串分割到数组中
  • explode() - 使用一个字符串分割另一个字符串