PHP字符分割explode,split,preg_split性能比较

三个函数都是用来对字符串进行分割,下面分几个实验来比较之间的性能。

1. explode与split比较

都用字符进行分割,执行10次

代码:

for($num=0;$num<9;$num++)

{

$stime=microtime();

for($i=0;$i<10000;$i++)

{

explode(',','hello,world');

}

$etime=microtime();

printf("explode takes %f \n",$etime-$stime);

}

for($num=0;$num<9;$num++)

{

$stime=microtime();

for($i=0;$i<10000;$i++)

{

split(',','hello,world');

}

$etime=microtime();

printf("split takes %f \n",$etime-$stime);

}

结果:

explode takes 0.009193

explode takes 0.007066

explode takes 0.007623

explode takes 0.005829

explode takes 0.005497

explode takes 0.005734

explode takes 0.005502

explode takes 0.005515

explode takes 0.005524

split takes 0.008976

split takes 0.008971

split takes 0.009030

split takes 0.009173

split takes 0.009913

split takes 0.012656

split takes 0.012153

split takes 0.009161

split takes 0.008948

结论:都用字符进行分割的情况下,explode性能优于split

split用正则进行分割:

代码:

for($num=0;$num<9;$num++)

{

$stime=microtime();

for($i=0;$i<10000;$i++)

{

explode(',','hello,world');

}

$etime=microtime();

printf("explode takes %f \n",$etime-$stime);

}

for($num=0;$num<9;$num++)

{

$stime=microtime();

for($i=0;$i<10000;$i++)

{

split('/,/','hello,world');

}

$etime=microtime();

printf("split takes %f \n",$etime-$stime);

}

结果:

explode takes 0.005649

explode takes 0.005719

explode takes 0.005792

explode takes 0.005975

explode takes 0.005723

explode takes 0.005812

explode takes 0.005860

explode takes 0.005756

explode takes 0.005835

split takes 0.005158

split takes 0.005170

split takes 0.005440

split takes 0.005402

split takes 0.005272

split takes 0.005434

split takes 0.006389

split takes 0.005414

split takes 0.005510

结论:在split使用正则分割的情况下,两者性能不相上下

2. split与preg_split比较

代码:

for($num=0;$num<9;$num++)

{

$stime=microtime();

for($i=0;$i<10000;$i++)

{

split('/,/','hello,world');

}

$etime=microtime();

printf("split takes %f \n",$etime-$stime);

}

for($num=0;$num<9;$num++)

{

$stime=microtime();

for($i=0;$i<10000;$i++)

{

preg_split("/,/","hello,world");

}

$etime=microtime();

printf("preg_split takes %f \n",$etime-$stime);

}

结果:

split takes 0.005381

split takes 0.005568

split takes 0.005107

split takes 0.005097

split takes 0.005444

split takes 0.005538

split takes 0.005095

split takes 0.005112

split takes 0.005087

preg_split takes 0.009364

preg_split takes 0.009568

preg_split takes 0.009037

preg_split takes 0.008957

preg_split takes 0.009021

preg_split takes 0.009656

preg_split takes 0.009038

preg_split takes 0.008962

preg_split takes 0.009412

结论:split性能优于preg_split

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php explode 效率,PHP字符分割explode,split,preg_split性能比较相关推荐

  1. C++实现字符串分割函数split()

    目录 使用strtok()完成分割 使用strsep()完成分割 使用strtok_r()完成分割 实现字符串分割 前言 最近遇到了一个字符串分割的问题,在C++的标准库里面没有字符分割函数split ...

  2. php explode 效率,从源码去理解PHP的explode()函数

    当我们需要将一个数组根据某个字符或字串进行分割成数组的时候,explode()函数很好用,但是你知道explode()是怎么工作的么?截取字串的问题,都会避免不了重新分配空间的消耗,explode也是 ...

  3. php7 list explode,使用一个字符串分割另一个字符串 - PHP 7 中文文档

    (PHP 4, PHP 5, PHP 7) explode – 使用一个字符串分割另一个字符串 说明 explode ( string $delimiter , string $string [, i ...

  4. 字符串分割(split),将字符串按照指定字符进行分割。split(String regex)和split(String regex, int limit)

    一.split(String regex)字符串分割,将字符串按照指定字符进行分割,返回的是一个字符串数组. public String[] split(String regex) {return s ...

  5. 用sqlserver手动写个split(字符分割)

    因为sqlserver中没有字符分割这个东西,所以无聊的时候写了个! 关键是用的地方还是比较多的大概用到三个函数吧!算法就不用说了, 大致的跟你想的差不多 直接上测试三个函数和字符分割例子,不明白的留 ...

  6. linux sh 字符串split,linux shell之字符串的更具字符分割和删除字符和文本内容的删除以及内容是否匹配成功...

    1  字符串的更具字符分割 1) xargs分割 echo "chenyu*hello*word" | xargs -d "*" chenyu hello wo ...

  7. php把字符串指定字符分割成数组

    <?php $str="1|2|3|4|5|"; $var=explode("|",$str); print_r($var); ?> $var=ex ...

  8. java按特殊标志截取_java 字符串分割处理split及特殊符号

    String类型的对象在 用split()方法进行字符分割的时候常常会遇到用特殊字符进行分割的情况,看JDK知道split()实际上是用的正则实现的分割,当遇到一些用特殊 字符作为分割标志的时候,不使 ...

  9. 图像验证码识别(七)——字符分割

    2019独角兽企业重金招聘Python工程师标准>>> 前面经过各种去除噪点.干扰线,验证码图片现在已经只有两个部分,如果pixel为白就是背景,如果pixel为黑就为字符.正如前面 ...

最新文章

  1. python导入包相当于什么_Python包及其定义和引用详解
  2. 小白学数据分析-----回归分析在游戏人气分析的应用探索
  3. 28. 实现 strStr()---LeetCode---JAVA(今天又是一行超人)
  4. java安装显示更改_java 安装与配置
  5. mysql关于数据是datetime类型
  6. JavaScript题 - 应用
  7. sql字符型注入-sqli第1关
  8. 【转】实用API大全
  9. 【手写dubbo-2】超详细!netty实现群聊、私聊
  10. Android scroller控件,Android Scroller完全解析
  11. Xcode中iOS项目目标变为Mac的解决办法
  12. SVN服务器搭建、客户端安装超详细图解教程
  13. 华为手机自带语音转文字的功能,转换方法如下
  14. 原车屏升级芯片方案:GM8905C和GM8906C替代DS90UR905和DS90UR906!
  15. Cannot create resource output directory
  16. 基于规则和检索的聊天机器人引擎
  17. 给独立开发者的经验分享——汇总
  18. STM32入门100步 第5期 STM32内部通信功能
  19. etl spring_Spring Batch与ETL工具比较
  20. SLAM中的BA优化

热门文章

  1. 北大人民医院CIO刘帆:信息化提升患者满意度
  2. powerDesigner ldm导出实体到excel(VBScript)
  3. Matlab数字转字符串
  4. Unity3D学习笔记(二十一)导入WOW动画不完美修复方案
  5. oracle 服务器时间修改,oracle数据库服务器修改时间
  6. linux 重置网卡配置_linux配置网卡信息
  7. 酷狗音乐链接无法试听解决办法
  8. java c s项目_tms java C/S项目开发,内容丰富,质量 谢谢下载使用! Develop 238万源代码下载- www.pudn.com...
  9. 小视频app源码开发不可忽视的重点在这里
  10. Linux上安装QQ,ubuntu18.04安装QQ最新简易教程,一分钟安装QQlinux版。