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中unlink()、mkdir()、rmdir()等方法的使用介绍
Dec 21 PHP
基于php中使用excel的简单介绍
Aug 02 PHP
测试PHP连接MYSQL成功与否的代码
Aug 16 PHP
多个PHP中文字符串截取函数
Nov 12 PHP
ThinkPHP实现带验证码的文件上传功能实例
Nov 01 PHP
PHP中使用imagick生成PSD文件缩略图教程
Jan 26 PHP
PHP中trim()函数简单使用指南
Apr 16 PHP
PHP实现添加购物车功能
Mar 06 PHP
PHP使用Nginx实现反向代理
Sep 20 PHP
PHP实现微信小程序人脸识别刷脸登录功能
May 24 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
Jun 13 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
May 27 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
memcached 和 mysql 主从环境下php开发代码详解
2010/05/16 PHP
PHP中__FILE__、dirname与basename用法实例分析
2014/12/01 PHP
php操作xml入门之xml标签的属性分析
2015/01/23 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
2015/11/18 PHP
列表内容的选择
2006/06/30 Javascript
用document.documentElement取代document.body的原因分析
2009/11/12 Javascript
javascript 多种搜索引擎集成的页面实现代码
2010/01/02 Javascript
通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
2010/06/18 Javascript
jquery 单击li防止重复加载的实现代码
2010/12/24 Javascript
循环 vs 递归浅谈
2013/02/28 Javascript
js图片向右一张张滚动效果实例代码
2013/11/23 Javascript
如何动态的导入js文件具体该怎么实现
2014/01/14 Javascript
javascript文件加载管理简单实现方法
2015/07/25 Javascript
函数window.open实现关闭所有的子窗口
2015/08/03 Javascript
jQuery+CSS3实现3D立方体旋转效果
2015/11/10 Javascript
js老生常谈之this,constructor ,prototype全面解析
2016/04/05 Javascript
解析利用javascript如何判断一个数为素数
2016/12/08 Javascript
yarn的使用与升级Node.js的方法详解
2017/06/04 Javascript
详解webpack异步加载业务模块
2017/06/23 Javascript
详解关于element el-button使用$attrs的一个注意要点
2018/11/09 Javascript
详解三种方式解决vue中v-html元素中标签样式
2018/11/22 Javascript
Vue生命周期activated之返回上一页不重新请求数据操作
2020/07/26 Javascript
[01:22:42]2014 DOTA2华西杯精英邀请赛 5 24 DK VS LGD
2014/05/26 DOTA
python smtplib模块发送SSL/TLS安全邮件实例
2015/04/08 Python
Python实现针对中文排序的方法
2017/05/09 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
2018/05/10 Python
Python参数类型以及常见的坑详解
2019/07/08 Python
Python使用Tkinter实现转盘抽奖器的步骤详解
2020/01/06 Python
VS2019+python3.7+opencv4.1+tensorflow1.13配置详解
2020/04/16 Python
CSS中垂直居中的简单实现方法
2015/07/06 HTML / CSS
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
计算机应用与科学个人的自我评价
2013/11/15 职场文书
现场施工员岗位职责
2014/03/10 职场文书
2014年财务工作总结范文
2014/11/11 职场文书
教师个人师德总结
2015/02/06 职场文书
2015年小学体育教师工作总结
2015/10/23 职场文书