关于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 相关文章推荐
一个PHP模板,主要想体现一下思路
Dec 25 PHP
基于PHP常用函数的用法详解
May 10 PHP
win7+apache+php+mysql环境配置操作详解
Jun 10 PHP
利用yahoo汇率接口实现实时汇率转换示例 汇率转换器
Jan 14 PHP
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
Dec 17 PHP
WordPress开发中用于标题显示的相关函数使用解析
Jan 07 PHP
PHP中文字符串截断无乱码解决方法
Oct 10 PHP
利用PHPExcel读取Excel的数据和导出数据到Excel
May 12 PHP
Laravel框架中Blade模板的用法示例
Aug 30 PHP
PHP大文件分块上传功能实例详解
Jul 22 PHP
php 多继承的几种常见实现方法示例
Nov 18 PHP
php使用gearman进行任务分发操作实例详解
Feb 26 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
在Laravel的Model层做数据缓存的实现
2019/09/26 PHP
JQuery 国际象棋棋盘 实现代码
2009/06/26 Javascript
jquery.qrcode在线生成二维码使用示例
2013/08/21 Javascript
js实现的折叠导航示例
2013/11/29 Javascript
鼠标悬浮停留三秒后自动显示大图js代码
2014/09/09 Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
2015/10/16 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
2016/03/01 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
详解Backbone.js框架中的模型Model与其集合collection
2016/05/05 Javascript
Angular CLI 安装和使用教程
2017/09/13 Javascript
js仿微信抢红包功能
2020/09/25 Javascript
在 Node.js 中使用 async 函数的方法
2017/11/17 Javascript
JS无限级导航菜单实现方法
2019/01/05 Javascript
Vue项目使用localStorage+Vuex保存用户登录信息
2019/05/27 Javascript
ES6中定义类和对象的方法示例
2019/07/31 Javascript
vue远程加载sfc组件思路详解
2019/12/25 Javascript
javascript异常处理实现原理详解
2020/02/17 Javascript
Vue使用预渲染代替SSR的方法
2020/07/02 Javascript
vue-router 2.0 跳转之router.push()用法说明
2020/08/12 Javascript
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
Python升级提示Tkinter模块找不到的解决方法
2014/08/22 Python
python自动裁剪图像代码分享
2017/11/25 Python
python使用配置文件过程详解
2019/12/28 Python
用python进行视频剪辑
2020/11/02 Python
如何一键升级Python所有包
2020/11/05 Python
html5应用缓存_动力节点Java学院整理
2017/07/13 HTML / CSS
维多利亚的秘密阿联酋官网:Victoria’s Secret阿联酋
2019/12/07 全球购物
Java基础知识面试要点
2016/07/29 面试题
求职者简历中的自我评价
2013/10/20 职场文书
机电一体化毕业生求职信
2013/11/02 职场文书
优秀志愿者事迹材料
2014/02/03 职场文书
函授本科自我鉴定
2014/02/04 职场文书
项目申请汇报材料
2014/08/16 职场文书
推广普通话共筑中国梦演讲稿
2014/09/21 职场文书
前台文员岗位职责
2015/02/04 职场文书
Keras在mnist上的CNN实践,并且自定义loss函数曲线图操作
2021/05/25 Python