zl程序教程

您现在的位置是:首页 >  其它

当前栏目

PHPstrtok()函数的优点分析

函数 分析 优点
2023-06-13 09:14:16 时间
其优点是:

1、可以一次定义多个分隔符。函数在执行时,是按单个分隔符来切割,而不是按整个分隔符,而explode则是按整个分隔串来切割的。正因此,explode可以用中文切割,而strtok则不行,会乱码。

2、在使用while或for配合strtok()遍历时,可以随时更换分隔符,也可以随时用break跳出终止切割。

示例1:演示用中文+explode来切割

$string="这是PHP论坛论坛版块论坛栏目论坛H管理员论坛会员";
$arr=explode("论坛",$string);
foreach($arras$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="Thisis\tanexample\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="abcde123c499sadbc99b5232";
$tok=strtok($string,"bc");
while($tok!=""){
echo"$tok<br/>";
$tok=strtok("bc");
}
echo"-------------<br/>";

返回:

a
de123
499sad
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