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 相关文章推荐
教你如何把一篇文章按要求分段
Oct 09 PHP
收藏的一个php小偷的核心程序
Apr 09 PHP
通过PHP CLI实现简单的数据库实时监控调度
Jul 01 PHP
ThinkPHP提交表单时默认自动转义的解决方法
Nov 25 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
Mar 21 PHP
理解php依赖注入和控制反转
May 11 PHP
PHP Ajax实现无刷新附件上传
Aug 17 PHP
PHP 类与构造函数解析
Feb 06 PHP
PHP实现中国公民身份证号码有效性验证示例代码
May 03 PHP
PHP+redis实现微博的推模型案例分析
Jul 10 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
Oct 11 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
May 02 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 数据库字段复用的基本原理与示例
2011/07/22 PHP
IIS下PHP的三种配置方式对比
2014/11/20 PHP
PHP提取字符串中的手机号正则表达式怎么写
2017/07/17 PHP
JavaScript中的私有/静态属性介绍
2012/07/26 Javascript
EasyUI中combobox默认值注意事项
2015/03/01 Javascript
JavaScript File API文件上传预览
2016/02/02 Javascript
JS在if中的强制类型转换方式
2018/07/15 Javascript
JavaScript之实现一个简单的Vue示例
2019/01/17 Javascript
跟混乱的页面弹窗说再见
2019/04/11 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
微信小程序全局变量GLOBALDATA的定义和调用过程解析
2019/09/23 Javascript
layui表格设计以及数据初始化详解
2019/10/26 Javascript
vue如何在用户要关闭当前网页时弹出提示的实现
2020/05/31 Javascript
Vue项目中使用mock.js的完整步骤
2021/01/12 Vue.js
Python 代码性能优化技巧分享
2012/08/07 Python
python用来获得图片exif信息的库实例分析
2015/03/16 Python
使用Python脚本将Bing的每日图片作为桌面的教程
2015/05/04 Python
python计算方程式根的方法
2015/05/07 Python
Python实现的双色球生成功能示例
2017/12/18 Python
Pandas之ReIndex重新索引的实现
2019/06/25 Python
python psutil模块使用方法解析
2019/08/01 Python
django 框架实现的用户注册、登录、退出功能示例
2019/11/28 Python
python字典通过值反查键的实现(简洁写法)
2020/09/30 Python
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
2015/08/31 HTML / CSS
HTML5中的进度条progress元素简介及兼容性处理
2016/06/02 HTML / CSS
Fanatics法国官网:美国体育电商
2019/08/27 全球购物
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
捐款倡议书范文
2014/02/02 职场文书
2014年大学庆元旦迎新年活动方案
2014/03/09 职场文书
家长对学生的评语
2014/04/18 职场文书
学校办公室主任岗位职责
2015/04/01 职场文书
2015年数学教研组工作总结
2015/05/23 职场文书
redis连接被拒绝的解决方案
2021/04/12 Redis
Java Socket实现Redis客户端的详细说明
2021/05/26 Redis
Python机器学习之底层实现KNN
2021/06/20 Python
java基础——多线程
2021/07/03 Java/Android