当前位置: 首页 > news >正文

PHP strtok()函数的优点分析

其优点是:

1、可以一次定义多个分隔符。函数在执行时,是按单个分隔符来切割,而不是按整个分隔符,而explode则是按整个分隔串来切割的。正因此,explode可以用中文切割,而strtok则不行,会乱码。

2、在使用while或for配合strtok()遍历时,可以随时更换分隔符,也可以随时用break跳出终止切割。

示例1:演示用中文+explode来切割

$string = "这是PHP论坛 论坛版块 论坛栏目 论坛H管理员 论坛会员";
$arr = explode("论坛",$string);
foreach($arr as $v)
{
echo $v."<br />";
}
echo "-------------<br />";

返回:

这是PHP

版块
栏目
H管理员
会员
-------------

示例2:演示更换切割符,注意后面WHILE中不再带有“H”分隔符。而只是用空格。

$string = "这是PHP论坛 论坛版块 论坛栏目 论坛H管理员 论坛会员";
$tok = strtok($string, " H"); //空格+H
$n=1;
while ($tok !== false) {
echo "$tok<br />";
$tok = strtok(" "); //空格
//if($n>2)break; //可以随时跳出。
//$n++;
}
echo "-------------<br />";

返回:

这是P
P论坛
论坛版块
论坛栏目
论坛H管理员
论坛会员
-------------

示例3:演示多分隔符。

$string = "This is\tan example\nstring";
$tok = strtok($string, " \n\t"); #空格,换行,TAB
while ($tok !== false) {
echo "$tok<br />";
$tok = strtok(" \n\t");
}
echo "-------------<br />";

返回:

This
is
an
example
string
-------------
$string = "abcde 123c4 99sadbc99b5232";
$tok = strtok($string, "bc");
while ($tok !="") {
echo "$tok<br />";
$tok = strtok("bc");
}
echo "-------------<br />";

返回:

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<BR>\n");
}

返回:

token: leon
token: atkinson
token: leon@clearink.com

http://www.jsqmd.com/news/855470/

相关文章:

  • HTTPS握手失败?别慌!手把手教你用OpenSSL和Wireshark排查TLS与Cipher Suites问题
  • 从ctfshow元旦赛题看PHP filter伪协议:除了base64,这些编码转换技巧才是关键
  • 抖音视频批量下载神器:3分钟学会无水印批量下载技巧
  • 5分钟快速上手:LaTeX公式在PowerPoint中的终极排版解决方案
  • SD-PPP:打破Photoshop与AI壁垒的革命性插件
  • 九成中老年为之困扰:隐秘的足部护理刚需,正催生一条翻倍增长赛道
  • Flutter应用架构完全指南:从MVC到Clean Architecture
  • Flutter性能优化完全指南:从渲染到内存管理
  • 从“死亡翻滚”到平稳开伞:深入解析ArduPilot的碰撞检查与降落伞救援机制
  • 如何快速掌握AI游戏辅助:RookieAI_yolov8完整实战指南
  • 国产OK镜靠谱品牌怎么选?欧普康视硬核资质与全维度实力详解
  • 从ERR_CERT_COMMON_NAME_INVALID错误,聊聊SSL证书里的Common Name和SAN到底有什么区别?
  • 边缘AI算力模组:物联网终端智能化的核心引擎与落地实践
  • 拯救者工具箱终极指南:如何完全掌控你的联想游戏本
  • Agent 与 Chat 的区别及常见工具详解
  • 光纤收发器和光纤环网交换机组网的区别
  • JavaSwing社团管理系统 - MySQL版
  • 整理录音会议纪要总是太慢听不清?规范整理方法值得参考
  • 具身智能商业化提速:天问机器人六大业务板块数据全景扫描
  • CentOS 8 Stream换源踩坑记:从阿里云到清华源,哪个更适合你的服务器?
  • 开闭原则实战:C语言中如何通过抽象接口实现可扩展的校验器设计
  • 人力资源系统革新,如何让企业人才资源活起来?
  • 避开OpenSim动力学仿真的坑:RRA参数设置详解与常见错误排查
  • 手把手教你用Vivado 2019.1的Block Design,为Zynq UltraScale+连接DDR4内存(附完整连线图)
  • 2026年5月热门的文字转语音方言转换软件如何选厂家推荐榜,五大主流类型厂家选择指南 - 海棠依旧大
  • 从零开始学习AI Agent的实战路线图
  • 用Sunshine搭建私人游戏串流服务器:从零到畅玩的完整指南
  • 成都高低压设备安装维保技术全解析:工业企业电力运维/成都配电系统检测/成都高低压电气检测/从选型到运维 - 优质品牌商家
  • 从 WebGPT 到 WebAgent:搜索增强型智能体演进
  • 告别Gym,拥抱Gymnasium:从Atari游戏安装到代码迁移的完整避坑指南