PHP的strtok()函數執行個體應用

來源:互聯網
上載者:User

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

echo $v."<br />"; 

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

echo "-------------<br />"; 
返回:
這是P 
P論壇 
論壇版塊 
論壇欄目 
論壇H管理員 
論壇會員 
------------- 
樣本3:示範多分隔字元。
$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 123c4 99sadbc99b5232"; 
$tok = strtok($string, "bc"); 
while ($tok !="") { 
echo "$tok<br />"; 
$tok = strtok("bc"); 

echo "-------------<br />"; 
返回:

de 123 
4 99sad 
99 
5232 
------------- 
樣本4:示範用for來遍曆:
$line = "leontatkinsontleon@clearink.com"; 
for($token = strtok($line,"t");$token!="";$token=strtok("t")) 

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

返回:
token: leon 
token: atkinson 
token: leon@clearink.com  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.