关于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 相关文章推荐
解决phpmyadmin 乱码,支持gb2312和utf-8
Nov 20 PHP
详解PHP显示MySQL数据的三种方法
Jun 05 PHP
php命名空间学习详解
Feb 27 PHP
PHP资源管理框架Assetic简介
Jun 12 PHP
PHP的switch判断语句的“高级”用法详解
Oct 01 PHP
smarty内置函数config_load用法实例
Jan 22 PHP
CI框架支持$_GET的两种实现方法
May 18 PHP
Laravel实现自定义错误输出内容的方法
Oct 10 PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
Apr 04 PHP
php实现有序数组旋转后寻找最小值方法
Sep 27 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 PHP
Yii2框架中一些折磨人的坑
Dec 15 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
PHP函数microtime()用法与说明
2013/12/04 PHP
PHP convert_cyr_string()函数讲解
2019/02/13 PHP
深入认识javascript中的eval函数
2009/11/02 Javascript
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
关于hashchangebroker和statehashable的补充文档
2011/08/08 Javascript
js 判断计算字符串长度/判断空的简单方法
2013/08/05 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
Bootstrap中CSS的使用方法
2016/02/17 Javascript
JavaScript 中 apply 、call 的详解
2017/03/21 Javascript
整理关于Bootstrap警示框的慕课笔记
2017/03/29 Javascript
js 中rewrap-ajax.js插件实例代码
2017/10/20 Javascript
vue中的event bus非父子组件通信解析
2017/10/27 Javascript
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
详解React中合并单元格的正确写法
2019/01/08 Javascript
vuex页面刷新后数据丢失的方法
2019/01/17 Javascript
vue使用Font Awesome的方法步骤
2019/02/26 Javascript
js实现坦克大战游戏
2020/02/24 Javascript
JavaScript实现横版菜单栏
2020/03/17 Javascript
vue实现导航菜单和编辑文本的示例代码
2020/07/04 Javascript
[01:12:40]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第三场 1月25日
2021/03/11 DOTA
python 简单的多线程链接实现代码
2016/08/28 Python
Django文件存储 默认存储系统解析
2019/08/02 Python
Python3从零开始搭建一个语音对话机器人的实现
2019/08/23 Python
用pip给python安装matplotlib库的详细教程
2021/02/24 Python
应届护士求职信范文
2014/01/26 职场文书
市场拓展计划书
2014/05/03 职场文书
党员四风自我剖析材料思想汇报
2014/09/13 职场文书
大一学生个人总结
2015/02/15 职场文书
趣味运动会简讯
2015/07/20 职场文书
联村联户简报
2015/07/21 职场文书
关爱空巢老人感想
2015/08/11 职场文书
2016初一新生军训心得体会
2016/01/11 职场文书
2019最新版劳务派遣管理制度
2019/08/16 职场文书
如何使用vue3打造一个物料库
2021/05/08 Vue.js
如何用RabbitMQ和Swoole实现一个异步任务系统
2021/05/29 PHP
2021年最新用于图像处理的Python库总结
2021/06/15 Python