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 冒泡排序 交换排序法
May 10 PHP
浅析PHP substr,mb_substr以及mb_strcut的区别和用法
Jun 21 PHP
解析PHP提交后跳转
Jun 23 PHP
php 不使用js实现页面跳转
Feb 11 PHP
php初始化对象和析构函数的简单实例
Mar 11 PHP
php实现判断访问来路是否为搜索引擎机器人的方法
Apr 15 PHP
php源码分析之DZX1.5字符串截断函数cutstr用法
Jun 17 PHP
PHP输出缓冲控制Output Control系列函数详解
Jul 02 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
Mar 21 PHP
简单解决微信文章图片防盗链问题
Dec 17 PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
Nov 08 PHP
PHP预定义接口――Iterator用法示例
Jun 05 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
外媒评选出10支2020年最受欢迎的Dota2战队
2021/03/05 DOTA
一个php短网址的生成代码(仿微博短网址)
2014/05/07 PHP
PHP采集静态页面并把页面css,img,js保存的方法
2014/12/23 PHP
PHP使用strtotime获取上个月、下个月、本月的日期
2015/12/30 PHP
php redis实现对200w用户的即时推送
2017/03/04 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
2020/12/16 PHP
javascript 类型判断代码分析
2010/03/28 Javascript
EasyUI 中 MenuButton 的使用方法
2012/07/14 Javascript
Javascript中匿名函数的多种调用方式总结
2013/12/06 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
JavaScript简单修改窗口大小的方法
2015/08/03 Javascript
jQuery实现的Div窗口震动效果实例
2015/08/07 Javascript
javascript实现查找数组中最大值方法汇总
2016/02/13 Javascript
深入理解 JS 垃圾回收
2019/06/03 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
vue登录以及权限验证相关的实现
2019/10/25 Javascript
[02:51]2014DOTA2国际邀请赛 IG战队官方纪录片
2014/07/21 DOTA
Python采用raw_input读取输入值的方法
2014/08/18 Python
PyQt4实现下拉菜单可供选择并打印出来
2018/04/20 Python
python flask框架实现重定向功能示例
2019/07/02 Python
python实现简单成绩录入系统
2019/09/19 Python
Python如何在bool函数中取值
2020/09/21 Python
python自动生成sql语句的脚本
2021/02/24 Python
html5中监听canvas内部元素点击事件的三种方法
2019/04/28 HTML / CSS
应聘面试自我评价
2014/01/24 职场文书
公司门卫管理制度
2014/02/01 职场文书
施工材料员岗位职责
2014/02/12 职场文书
小学生家长寄语
2014/04/02 职场文书
2014年新生军训方案
2014/05/01 职场文书
小学生校园广播稿
2014/09/28 职场文书
先进个人推荐材料
2014/12/29 职场文书
食堂管理制度范本
2015/08/04 职场文书
寒假生活随笔
2015/08/15 职场文书
2016幼儿园新学期寄语
2015/12/03 职场文书
JS 4个超级实用的小技巧 提升开发效率
2021/10/05 Javascript
Win11开始菜单添加休眠选项
2022/04/19 数码科技