熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

PHP的strtok()函數實例應用

2013-11-15 12:31:31  來源: PHP編程 

  相對於explode()來說strtok()函數可以控制節奏按需切割字串其優點是
可以一次定義多個分隔符函數在執行時是按單個分隔符來切割而不是按整個分隔符而explode則是按整個分隔串來切割的正因此explode可以用中文切割而strtok則不行會亂碼
在使用while或for配合strtok()遍歷時可以隨時更換分隔符也可以隨時用break跳出終止切割
示例演示用中文+explode來切割
$string = "這是PHP論壇 論壇版塊 論壇欄目 論壇H管理員 論壇會員"; 
$arr = explode("論壇"$string); 
foreach($arr as $v) 

echo $v"<br />"; 

echo "<br />"; 
返回
這是PHP 
版塊 
欄目 
H管理員 
會員 
  
示例演示更換切割符注意後面WHILE中不再帶有“H”分隔符而只是用空格
$string = "這是PHP論壇 論壇版塊 論壇欄目 論壇H管理員 論壇會員"; 
$tok = strtok($string " H"); //空格+H 
$n=
while ($tok !== false) { 
echo "$tok<br />"; 
$tok = strtok(" "); //空格 
//if($n>)break; //可以隨時跳出 
//$n++; 

echo "<br />"; 
返回
這是P 
P論壇 
論壇版塊 
論壇欄目 
論壇H管理員 
論壇會員 
 
示例演示多分隔符
$string = "This istan examplenstring"; 
$tok = strtok($string " nt"); #空格換行TAB 
while ($tok !== false) { 
echo "$tok<br />"; 
$tok = strtok(" nt"); 

echo "<br />"; 
返回
This 
is 
an 
example 
string 
 
$string = "abcde c sadbcb"; 
$tok = strtok($string "bc"); 
while ($tok !="") { 
echo "$tok<br />"; 
$tok = strtok("bc"); 

echo "<br />"; 
返回

de  
 sad 
 
 
 
示例演示用for來遍歷
$line = "leontatkinsontleon@clearinkcom"; 
for($token = strtok($line"t");$token!="";$token=strtok("t")) 

print("token: $token<BR>n"); 

返回
token: leon 
token: atkinson 
token: leon@clearinkcom  


From:http://tw.wingwit.com/Article/program/PHP/201311/21117.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.