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 相关文章推荐
用libTemplate实现静态网页的生成
Oct 09 PHP
开发大型PHP项目的方法
Oct 09 PHP
开源SNS系统-ThinkSNS
May 18 PHP
PHP删除HTMl标签的实现代码
Jun 30 PHP
php动态函数调用方法
May 21 PHP
php实现图片等比例缩放代码
Jul 23 PHP
浅谈Laravel队列实现原理解决问题记录
Aug 19 PHP
PHP实现小程序批量通知推送
Nov 27 PHP
Thinkphp5.0框架视图view的循环标签用法示例
Oct 12 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
Oct 15 PHP
Laravel 在views中加载公共页面的实现代码
Oct 22 PHP
Thinkphp 框架扩展之应用模式实现方法分析
Apr 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
如何使用PHP往windows中添加用户
2006/12/06 PHP
PHP执行linux系统命令的常用函数使用说明
2010/04/27 PHP
PHP实现变色验证码实例
2014/01/06 PHP
WordPress过滤垃圾评论的几种主要方法小结
2016/07/11 PHP
基于Laravel实现的用户动态模块开发
2017/09/21 PHP
js escape,unescape解决中文乱码问题的方法
2010/05/26 Javascript
基于jquery的bankInput银行卡账号格式化
2012/08/22 Javascript
jQuery中ajax的post()方法用法实例
2014/12/26 Javascript
js实现简单选项卡与自动切换效果的方法
2015/04/10 Javascript
javascript精确统计网站访问量实例代码
2015/12/19 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
javascript 动态生成css代码的两种方法
2017/03/17 Javascript
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
微信小程序 空白页重定向解决办法
2017/06/27 Javascript
微信小程序使用modal组件弹出对话框功能示例
2017/11/29 Javascript
babel之配置文件.babelrc入门详解
2018/02/22 Javascript
vue  elementUI 表单嵌套验证的实例代码
2019/11/06 Javascript
vue中英文切换实例代码
2020/01/21 Javascript
vue中选中多个选项并且改变选中的样式的实例代码
2020/09/16 Javascript
vue-router懒加载的3种方式汇总
2021/02/28 Vue.js
Python使用Flask框架同时上传多个文件的方法
2015/03/21 Python
python连接MySQL数据库实例分析
2015/05/12 Python
python3获取两个日期之间所有日期,以及比较大小的实例
2018/04/08 Python
市场营销毕业生自荐信范文
2014/04/01 职场文书
小学评语大全
2014/04/22 职场文书
学校综治宣传月活动总结
2014/07/02 职场文书
个人党性分析总结
2015/03/05 职场文书
土建技术员岗位职责
2015/04/11 职场文书
征求意见函
2015/06/05 职场文书
2015年食品安全宣传周活动总结
2015/07/09 职场文书
小学生红领巾广播稿
2015/08/19 职场文书
民政局2016年“六一”儿童节慰问活动总结
2016/04/06 职场文书
解决mysql问题:由于找不到MSVCR120.dll,无法继续执行代码
2021/06/26 MySQL
「魔导具师妲莉亚永不妥协~从今天开始的自由职人生活~」1、2卷发售宣传CM公开
2022/03/21 日漫
HTML静态页面获取url参数和UserAgent的实现
2022/08/05 HTML / CSS