PHP strtok()函数的优点分析

 更新时间:2010年03月02日 13:24:22   作者:  
相对于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超全局变量实现原理及代码解析

    PHP超全局变量实现原理及代码解析

    这篇文章主要介绍了PHP超全局变量实现原理及代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • php正则表达式(regar expression)

    php正则表达式(regar expression)

    在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的语法。
    2011-09-09
  • PHP的5个安全措施小结

    PHP的5个安全措施小结

    多年来,PHP一直是一个稳定的、廉价的运行基于web应用程序的平台。像大多数基于web的平台一样,PHP也是容易受到外部攻击的
    2012-07-07
  • header中Content-Disposition的作用与使用方法

    header中Content-Disposition的作用与使用方法

    本文章详细的介绍了关于php header中Content-disposition用法详细,有需要了解header用法的朋友可参考一下
    2012-06-06
  • PHP实现冒泡排序的简单实例

    PHP实现冒泡排序的简单实例

    下面小编就为大家带来一篇PHP实现冒泡排序的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • PHP实现根据时间戳获取周几的方法

    PHP实现根据时间戳获取周几的方法

    这篇文章主要介绍了PHP实现根据时间戳获取周几的方法,涉及PHP针对时间与日期操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-02-02
  • php的GD库imagettftext函数解决中文乱码问题

    php的GD库imagettftext函数解决中文乱码问题

    这篇文章主要介绍了php的GD库imagettftext函数解决中文乱码问题,可通过将中文字符串转为utf-8格式来解决,需要的朋友可以参考下
    2015-01-01
  • php 不使用js实现页面跳转

    php 不使用js实现页面跳转

    页面跳转大多情况下是使用js,其实也可以不用,下面为大家介绍下具体的实现,需要的朋友可以参考下
    2014-02-02
  • PHP自定义函数获取URL中一级域名的方法

    PHP自定义函数获取URL中一级域名的方法

    这篇文章主要介绍了PHP自定义函数获取URL中一级域名的方法,涉及字符串与数组相关操作技巧,需要的朋友可以参考下
    2016-08-08
  • php使用iconv中文截断问题的解决方法

    php使用iconv中文截断问题的解决方法

    这篇文章主要介绍了php使用iconv中文截断问题的解决方法,以实例形式较为详细的分析了出现中文截断问题的原因与具体解决方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02

最新评论