(PHP 4, PHP 5)
strtok — 標記分割字符串
說明
string strtok ( string$str
, string $token
)
string strtok
( string $token
)
strtok() 將字符串 str
分割為若干子字符串,每個子字符串以 token
中的字符分割。這也就意味著,如果有個字符串是 "This is an example string",你可以使用空格字符將這句話分割成獨立的單詞。
注意僅第一次調(diào)用 strtok 函數(shù)時使用 string 參數(shù)。后來每次調(diào)用 strtok,都將只使用 token 參數(shù),因為它會記住它在字符串 string 中的位置。如果要重新開始分割一個新的字符串,你需要再次使用 string 來調(diào)用 strtok 函數(shù),以便完成初始化工作。注意可以在 token 參數(shù)中使用多個字符。字符串將被該參數(shù)中任何一個字符分割。
參數(shù)
str
被分成若干子字符串的原始字符串。
token
分割 str
時使用的分界字符。
返回值
標記后的字符串。
范例
Example #1 strtok() 范例
<?php
$string = "This istan examplenstring";
/* 使用制表符和換行符作為分界符 */
$tok = strtok($string, " nt");
while ($tok !== false) {
echo "Word=$tok<br />";
$tok = strtok(" nt");
}
?>
對于空串的處理機制,PHP 從 4.1.0 開始發(fā)生了變化。舊的運行機制返回空字符串,而新的運行機制選擇恰當?shù)靥^這一部分:
Example #2 舊的 strtok() 運行機制
<?php
$first_token = strtok('/something', '/');
$second_token = strtok('/');
var_dump($first_token, $second_token);
?>
以上例程會輸出:
string(0) "" string(9) "something"
Example #3 新的 strtok() 運行機制
<?php
$first_token = strtok('/something', '/');
$second_token = strtok('/');
var_dump($first_token, $second_token);
?>
以上例程會輸出:
string(9) "something" bool(false)
注釋
Warning此函數(shù)可能返回布爾值
FALSE
,但也可能返回等同于 FALSE
的非布爾值。請閱讀 布爾類型章節(jié)以獲取更多信息。應(yīng)使用
===
運算符來測試此函數(shù)的返回值。
參見
split() - 用正則表達式將字符串分割到數(shù)組中 explode() - 使用一個字符串分割另一個字符串