PHP strtok()函數(shù)的優(yōu)點(diǎn)分析
1、可以一次定義多個分隔符。函數(shù)在執(zhí)行時(shí),是按單個分隔符來切割,而不是按整個分隔符,而explode則是按整個分隔串來切割的。正因此,explode可以用中文切割,而strtok則不行,會亂碼。
2、在使用while或for配合strtok()遍歷時(shí),可以隨時(shí)更換分隔符,也可以隨時(shí)用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; //可以隨時(shí)跳出。 //$n++; } echo "-------------<br />"; |
返回:
這是P P論壇 論壇版塊 論壇欄目 論壇H管理員 論壇會員 ------------- |
示例3:演示多分隔符。
$string = "This is\tan example\nstring"; $tok = strtok($string, " \n\t"); #空格,換行,TAB while ($tok !== false) { echo "$tok<br />"; $tok = strtok(" \n\t"); } 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 = "leon\tatkinson\tleon@clearink.com"; for($token = strtok($line,"\t");$token!="";$token=strtok("\t")) { print("token: $token<BR>\n"); } |
返回:
token: leon token: atkinson token: leon@clearink.com |
相關(guān)文章
php+mysqli實(shí)現(xiàn)將數(shù)據(jù)庫中一張表信息打印到表格里的方法
這篇文章主要介紹了php+mysqli實(shí)現(xiàn)將數(shù)據(jù)庫中一張表信息打印到表格里的方法,涉及mysqli查詢的相關(guān)技巧,需要的朋友可以參考下2015-01-01PHP使用zlib擴(kuò)展實(shí)現(xiàn)GZIP壓縮輸出的方法詳解
這篇文章主要介紹了PHP使用zlib擴(kuò)展實(shí)現(xiàn)GZIP壓縮輸出的方法,結(jié)合實(shí)例形式詳細(xì)分析了php gzip配置及壓縮輸出的相關(guān)操作技巧,需要的朋友可以參考下2018-04-04詳解WordPress中分類函數(shù)wp_list_categories的使用
這篇文章主要介紹了詳解WordPress中分類函數(shù)wp_list_categories的使用,文中羅列其主要參數(shù)的功能和寫法,需要的朋友可以參考下2016-01-01