PHP strtok()函数的优点分析


Posted in PHP onMarch 02, 2010

其优点是:

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

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

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

$string = "这是PHP论坛 论坛版块 论坛栏目 论坛H管理员 论坛会员"; $arr = explode("论坛",$string); foreach($arr as $v) { echo $v."
"; } echo "-------------
";

返回:

这是PHP 版块 栏目 H管理员 会员 -------------

示例2:演示更换切割符,注意后面WHILE中不再带有“H”分隔符。而只是用空格。

$string = "这是PHP论坛 论坛版块 论坛栏目 论坛H管理员 论坛会员"; $tok = strtok($string, " H"); //空格+H $n=1; while ($tok !== false) { echo "$tok
"; $tok = strtok(" "); //空格 //if($n>2)break; //可以随时跳出。 //$n++; } echo "-------------
";

返回:

这是P P论坛 论坛版块 论坛栏目 论坛H管理员 论坛会员 -------------

示例3:演示多分隔符。

$string = "This is\tan example\nstring"; $tok = strtok($string, " \n\t"); #空格,换行,TAB while ($tok !== false) { echo "$tok
"; $tok = strtok(" \n\t"); } echo "-------------
";

返回:

This is an example string -------------

$string = "abcde 123c4 99sadbc99b5232"; $tok = strtok($string, "bc"); while ($tok !="") { echo "$tok
"; $tok = strtok("bc"); } echo "-------------
";

返回:

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
\n"); }

返回:

token: leon token: atkinson token: leon@clearink.com
PHP 相关文章推荐
新版PHP将向Java靠拢
Oct 09 PHP
php的header和asp中的redirect比较
Oct 09 PHP
php 删除无限级目录与文件代码共享
Nov 22 PHP
php对二维数组进行排序的简单实例
Dec 19 PHP
用PHP来计算某个目录大小的方法
Apr 01 PHP
php+html5使用FormData对象提交表单及上传图片的方法
Feb 11 PHP
PHP实现通用alert函数的方法
Mar 11 PHP
54个提高PHP程序运行效率的方法
Jul 19 PHP
php简单日历函数
Oct 28 PHP
基于PHP技术开发客服工单系统
Jan 06 PHP
PHP标准类(stdclass)用法示例
Sep 28 PHP
php实现用户登陆简单实例
Apr 04 PHP
关于PHP5 Session生命周期介绍
Mar 02 #PHP
PHP正则的Unknown Modifier错误解决方法
Mar 02 #PHP
php is_file()和is_dir()用于遍历目录时用法注意事项
Mar 02 #PHP
php 读取shell管道传输过来的内容
Mar 01 #PHP
php 连接mssql数据库 初学php笔记
Mar 01 #PHP
discuz authcode 经典php加密解密函数解析
Jul 12 #PHP
php下使用SimpleXML 处理XML 文件
Feb 27 #PHP
You might like
dede全站URL静态化改造[070414更正]
2007/04/17 PHP
PHP删除数组中的特定元素的代码
2012/06/28 PHP
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
2013/07/03 PHP
PHP微框架Dispatch简介
2014/06/12 PHP
PHP实现事件机制实例分析
2015/06/26 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
2017/06/07 PHP
使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
2010/05/07 Javascript
用按钮控制iframe显示的网页实现方法
2013/02/04 Javascript
js完美的div拖拽实例代码
2014/01/22 Javascript
js获取当前地址 JS获取当前URL的示例代码
2014/02/26 Javascript
10分钟学会写Jquery插件实例教程
2014/09/06 Javascript
TypeScript具有的几个不同特质
2015/04/07 Javascript
JS实现的网页背景闪电闪烁效果代码
2015/10/17 Javascript
javascript匀速运动实现方法分析
2016/01/08 Javascript
node实现的爬虫功能示例
2018/05/04 Javascript
JavaScript设计模式之模板方法模式原理与用法示例
2018/08/07 Javascript
vue 利用路由守卫判断是否登录的方法
2018/09/29 Javascript
微信小程序遍历Echarts图表实现多个饼图
2019/04/25 Javascript
vue实现简单的登录弹出框
2020/10/26 Javascript
Python脚本实现DNSPod DNS动态解析域名
2015/02/14 Python
python3实现SMTP发送邮件详细教程
2018/06/19 Python
python 修改本地网络配置的方法
2019/08/14 Python
python线程池 ThreadPoolExecutor 的用法示例
2020/10/10 Python
荷兰演唱会和体育比赛订票网站:viagogo荷兰
2018/04/08 全球购物
联想香港官方网站及网店:Lenovo香港
2018/04/13 全球购物
空字符串(“”)和null的区别
2012/11/13 面试题
linux面试相关问题
2013/04/28 面试题
医学检验专业个人求职信范文
2013/12/04 职场文书
缓刑人员的思想汇报
2014/01/11 职场文书
《美丽的田园》教学反思
2014/03/01 职场文书
员工安全生产承诺书
2014/05/22 职场文书
护士2014年终工作总结
2014/11/11 职场文书
质量保证书怎么写
2015/02/27 职场文书
公司人事管理制度
2015/08/05 职场文书
MySQL update set 和 and的区别
2021/05/08 MySQL
SpringCloud之@FeignClient()注解的使用方式
2021/09/25 Java/Android