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 相关文章推荐
初探PHP5
Oct 09 PHP
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
Jul 21 PHP
php 无限级缓存的类的扩展
Mar 16 PHP
php 获取可变函数参数的函数
Aug 26 PHP
基于php缓存的详解
May 15 PHP
深入php socket的讲解与实例分析
Jun 13 PHP
探讨:如何使用PhpDocumentor生成文档
Jun 25 PHP
PHP中单例模式与工厂模式详解
Feb 17 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
May 20 PHP
PDO操作MySQL的基础教程(推荐)
Aug 18 PHP
PHP对称加密算法(DES/AES)类的实现代码
Nov 14 PHP
PHP调用微博接口实现微博登录的方法示例
Sep 22 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
PHP程序员必须清楚的问题汇总
2014/12/18 PHP
PHP从FLV文件获取视频预览图的方法
2015/03/12 PHP
php把大写命名转换成下划线分割命名
2015/04/27 PHP
如何使用Gitblog和Markdown建自己的博客
2015/07/31 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
JS 自动完成 AutoComplete(Ajax 查询)
2009/07/07 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
2015/03/04 Javascript
用js读写cookie的简单方法(推荐)
2016/08/08 Javascript
Java  Spring 事务回滚详解
2016/10/17 Javascript
JavaScript实现form表单的多文件上传
2020/03/27 Javascript
详解vue.js的devtools安装
2017/05/26 Javascript
vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
2017/10/21 Javascript
微信小程序之圆形进度条实现思路
2018/02/22 Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
2018/09/29 Javascript
基于vue手写tree插件的那点事儿
2019/08/20 Javascript
vue中的 $slot 获取插槽的节点实例
2019/11/12 Javascript
解决vant-UI库修改样式无效的问题
2020/11/03 Javascript
Python md5与sha1加密算法用法分析
2017/07/14 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
2018/11/07 Python
对Python3+gdal 读取tiff格式数据的实例讲解
2018/12/04 Python
python异步存储数据详解
2019/03/19 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
2019/10/14 Python
Python sorted排序方法如何实现
2020/03/31 Python
利用pandas向一个csv文件追加写入数据的实现示例
2020/04/23 Python
python 检测图片是否有马赛克
2020/12/01 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
俄罗斯极限运动网上商店:Board Shop №1
2020/12/18 全球购物
儿科护士实习自我鉴定
2013/10/17 职场文书
成人继续教育实施方案
2014/03/01 职场文书
负责人任命书范本
2014/06/04 职场文书
可怜妈妈观后感
2015/06/09 职场文书
护士医德医风心得体会
2016/01/25 职场文书
高中体育课教学反思
2016/02/16 职场文书
2016年度创先争优活动总结
2016/04/05 职场文书
2019个人工作计划书的格式及范文!
2019/07/04 职场文书
go语言中fallthrough的用法说明
2021/05/06 Golang