PHP中strtok()函數的優點詳細解析

來源:互聯網
上載者:User
關鍵字 網路程式設計 PHP教程

相對於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 />";


返回:

a
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.