关于php几种字符串连接的效率比较(详解)


Posted in PHP onFebruary 22, 2017

php大致有三种字符串连接:

1、直接用.来进行连接。

2、用.=进行连接。

3、先压入数组,再通过join函数连接。

下面分别对这三种方法的效率进行测试:

第一种方法代码如下:

<?php   
   function get_tm() {
   list ( $usec, $sec ) = explode ( " ", microtime () );
   return (( float ) $usec + ( float ) $sec);
   }
   
   $temp="test";
   $result="";
   define("num",100000);
   $start=get_tm();
  
   for($i=0;$i<num;$i++)
   {
     $result=$result.$temp;
   }
   echo get_tm()-$start;
   
?>

运行4次,除去第一次运行时间,三次时间分别为:

22.165272951126
22.003527164459
22.15947508812

第二种方法代码如下:

<?php     
   function get_tm() {
   list ( $usec, $sec ) = explode ( " ", microtime () );
   return (( float ) $usec + ( float ) $sec);
   }
   
   $temp="test";
   $result="";
   define("num",100000);
   $start=get_tm();
  
   for($i=0;$i<num;$i++)
   {
     $result.=$temp;
   }
   echo get_tm()-$start;
   
?>

运行4次,除去第一次运行时间,三次时间分别为:

3.1967310905457
3.1296961307526
3.0872850418091

第三种方法代码如下:

<?php      
   function get_tm() {
   list ( $usec, $sec ) = explode ( " ", microtime () );
   return (( float ) $usec + ( float ) $sec);
   }
   
   $temp="test";
   $result="";
   $arr=array();
   define("num",100000);
   $start=get_tm();
  
   for($i=0;$i<num;$i++)
   {
     array_push($arr, $temp);
   }
   $result=join($arr);
   echo get_tm()-$start;
   
?>

运行4次,除去第一次运行时间,三次时间分别为:

3.3184430599213
3.2759411334991
3.2663381099701

由上可见,直接通过.进行字符串的连接效率最为低下。

以上这篇关于php几种字符串连接的效率比较(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
动态生成gif格式的图像要注意?
Oct 09 PHP
linux命令之调试工具strace的深入分析
Jun 03 PHP
Yii框架关联查询with用法分析
Dec 02 PHP
thinkphp常见路径用法分析
Dec 02 PHP
php使用google地图应用实例
Dec 31 PHP
又拍云异步上传实例教程详解
Apr 19 PHP
总结对比php中的多种序列化
Aug 28 PHP
PHP CURL post数据报错 failed creating formpost data
Oct 16 PHP
PHP数据库操作四:mongodb用法分析
Aug 16 PHP
PHP PDOStatement::fetchColumn讲解
Jan 31 PHP
php转换上传word文件为PDF的方法【基于COM组件】
Jun 10 PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
Aug 05 PHP
php可变长参数处理函数详解
Feb 22 #PHP
php操作access数据库的方法详解
Feb 22 #PHP
Smarty3配置及入门语法
Feb 22 #PHP
PHP中ajax无刷新上传图片与图片下载功能
Feb 21 #PHP
PHP+JavaScript实现无刷新上传图片
Feb 21 #PHP
PHP编辑器PhpStrom运行缓慢问题
Feb 21 #PHP
如何离线执行php任务
Feb 21 #PHP
You might like
session 的生命周期是多长
2006/10/09 PHP
php创建sprite
2014/02/11 PHP
9条PHP编程小知识及易犯的小错误
2015/01/22 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
2019/02/15 PHP
js实现iframe动态调整高度的代码
2008/01/06 Javascript
js函数般调用正则
2008/04/08 Javascript
实用的JS正则表达式(手机号码/IP正则/邮编正则/电话等)
2013/01/11 Javascript
THREE.JS入门教程(5)你应当知道的十件事
2013/01/24 Javascript
JavaScript设置IFrame高度自适应(兼容各主流浏览器)
2013/06/05 Javascript
利用div+jquery自定义滚动条样式的2种方法
2013/07/18 Javascript
js设置function参数默认值(适合没有传参情况)
2014/02/24 Javascript
js随机生成26个大小写字母
2016/02/12 Javascript
轻松搞定jQuery.noConflict()
2016/02/15 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
2016/06/29 Javascript
js Date()日期函数浏览器兼容问题解决方法
2017/09/12 Javascript
vue组件watch属性实例讲解
2017/11/07 Javascript
解决vue页面刷新或者后退参数丢失的问题
2018/03/13 Javascript
vue前端框架—Mint UI详解(更适用于移动端)
2019/04/30 Javascript
javascript实现文字跑马灯效果
2020/06/18 Javascript
在Python中操作时间之mktime()方法的使用教程
2015/05/22 Python
Python实现堆排序的方法详解
2016/05/03 Python
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
2017/12/15 Python
Python cookbook(数据结构与算法)从序列中移除重复项且保持元素间顺序不变的方法
2018/03/13 Python
对Pytorch神经网络初始化kaiming分布详解
2019/08/18 Python
python 字典访问的三种方法小结
2019/12/05 Python
Pycharm 安装 idea VIM插件的图文教程详解
2020/02/21 Python
Python使用monkey.patch_all()解决协程阻塞问题
2020/04/15 Python
vscode配置anaconda3的方法步骤
2020/08/08 Python
CSS3实现酷炫的3D旋转透视效果
2019/11/21 HTML / CSS
STP的判定过程
2012/10/01 面试题
总经理驾驶员岗位职责
2013/12/04 职场文书
生活小常识广播稿
2014/09/16 职场文书
春晚观后感
2015/06/11 职场文书
2019银行竞聘书
2019/06/21 职场文书
vite+vue3.0+ts+element-plus快速搭建项目的实现
2021/06/24 Vue.js