欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【PHP的strtok()函数的优点详解】,下面是详细的分享!
PHP的strtok()函数的优点详解
相对于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 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 |
以上所分享的是关于PHP的strtok()函数的优点详解,下面是编辑为你推荐的有价值的用户互动:
相关问题:求大神讲一下strtok函数用法!!
答:原型:char *strtok(char s[], const char *delim); 作用:分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。 我不知道这个函数是干什么的 我查了一下百度百科 里面有一句“strtok函数会破坏被分解字符串的完整,调用前和调用后... >>详细
相关问题:C语言strtok函数使用问题。
答:strtok函数会破坏被分解字符串的完整,调用前和调用后的s已经不一样了。如果要保持原字符串的完整,可以使用strchr和sscanf的组合等。 strtok是一个线程不安全的函数,因为它使用了静态分配的空间来存储被分割的字符串位置 线程安全的函数叫strt... >>详细
相关问题:strtok函数两步解析问题
答:首先,strtok 是不能用于“嵌套”的;很显然,你在此处嵌套的用了它。 为什么不能嵌套呢? 因为 strtok 是用一个“静态变量”保存了 你第一次用strtok分割字符串 后,剩余的那后半段字符串的开始地址; 针对你的程序: 当程序运行到 tmp = strtok(NU... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
