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 相关文章推荐
关于session在PHP5的配置文件中的详细设置参数说明
Apr 20 PHP
php 日期和时间的处理-郑阿奇(续)
Jul 04 PHP
php中http_build_query 的一个问题
Mar 25 PHP
PHP图片等比缩放类SimpleImage使用方法和使用实例分享
Apr 10 PHP
PHP类的反射用法实例
Nov 03 PHP
php针对cookie操作的队列操作类实例
Dec 10 PHP
PHP实现在线阅读PDF文件的方法
Jun 17 PHP
Zend Framework教程之Zend_Db_Table用法详解
Mar 21 PHP
PHP pear安装配置教程
May 14 PHP
php遍历目录下文件并按修改时间排序操作示例
Jul 12 PHP
关于PHP中interface的用处详解
Jul 26 PHP
HTTP头隐藏PHP版本号实现过程解析
Dec 09 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 ci框架验证码实例分析
2013/06/26 PHP
php中实现xml与mysql数据相互转换的方法
2014/12/25 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
php生成图片缩略图的方法
2015/04/07 PHP
Yii开启片段缓存的方法
2016/03/28 PHP
Yii调试查看执行SQL语句的方法
2016/07/15 PHP
php arsort 数组降序排序详细介绍
2016/11/17 PHP
JavaScript的目的分析
2007/01/05 Javascript
网页开发中的容易忽略的问题 javascript HTML中的table
2009/04/15 Javascript
jQuery随机切换图片的小例子
2013/04/18 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
2015/05/14 Javascript
AngularJS上拉加载问题解决方法
2016/05/23 Javascript
javascript显示倒计时控制按钮的简单实现
2016/06/07 Javascript
js创建数组的简单方法
2016/07/27 Javascript
JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的代码分享
2016/11/01 Javascript
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
2017/04/13 Javascript
angularjs $http实现form表单提交示例
2017/06/09 Javascript
Angular 作用域scope的具体使用
2017/12/11 Javascript
vue实现pdf导出解决生成canvas模糊等问题(推荐)
2018/10/18 Javascript
layUI实现列表查询功能
2019/07/27 Javascript
解决layui轮播图有数据不显示的情况
2019/09/16 Javascript
微信小程序实现手指拖动选项排序
2020/04/22 Javascript
解决vue项目获取dom元素宽高总是不准确问题
2020/07/29 Javascript
typescript配置alias的详细步骤
2020/08/12 Javascript
使用PyInstaller将Python程序文件转换为可执行程序文件
2016/07/08 Python
python框架中flask知识点总结
2018/08/17 Python
浅谈python3发送post请求参数为空的情况
2018/12/28 Python
Python列表list常用内建函数实例小结
2019/10/22 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
2020/03/28 Python
求职者应聘的自我评价
2013/10/16 职场文书
团工委书记自荐书范文
2013/12/17 职场文书
奉献演讲稿范文
2014/05/21 职场文书
关于感恩的演讲稿800字
2014/08/26 职场文书
2016寒假假期总结
2015/10/10 职场文书
彻底解决MySQL使用中文乱码的方法
2022/01/22 MySQL
Redis调用Lua脚本及使用场景快速掌握
2022/03/16 Redis