关于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 模拟登陆MSN并获得用户信息
May 16 PHP
基于Zookeeper的使用详解
May 02 PHP
php魔术函数__call()用法实例分析
Feb 13 PHP
PHP使用mysqldump命令导出数据库
Apr 14 PHP
php文件操作之小型留言本实例
Jun 20 PHP
PHP的Yii框架中View视图的使用进阶
Mar 29 PHP
php实现当前页面点击下载文件的实例代码
Nov 16 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
Feb 05 PHP
php post json参数的传递和接收处理方法
May 31 PHP
PHP异常类及异常处理操作实例详解
Dec 19 PHP
laravel实现按时间日期进行分组统计方法示例
Mar 23 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
Sep 11 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标签云的实现代码
2012/10/10 PHP
php替换字符串中间字符为省略号的方法
2015/05/04 PHP
PHP实现的迷你漂流瓶
2015/07/29 PHP
PHP类的特性实例分析
2016/09/28 PHP
PHP实现的服务器一致性hash分布算法示例
2018/08/09 PHP
laravel 框架配置404等异常页面
2019/01/07 PHP
jquery限制输入字数,并提示剩余字数实现代码
2012/12/24 Javascript
jQuery把表单元素变为json对象
2013/11/06 Javascript
js跳转页面方法总结
2014/01/29 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
2015/06/24 Javascript
浅谈Vue的基本应用
2016/12/27 Javascript
解决vue-cli创建项目的loader问题
2018/03/13 Javascript
Vue 动态组件components和v-once指令的实现
2019/08/30 Javascript
webpack+vue-cil 中proxyTable配置接口地址代理操作
2020/07/18 Javascript
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
python中引用与复制用法实例分析
2015/06/04 Python
关于Django外键赋值问题详解
2017/08/13 Python
numpy matrix和array的乘和加实例
2018/06/28 Python
python日志logging模块使用方法分析
2019/05/23 Python
pycharm设置鼠标悬停查看方法设置
2019/07/29 Python
TensorFLow 不同大小图片的TFrecords存取实例
2020/01/20 Python
利用css3 translate完美实现表头固定效果
2017/02/28 HTML / CSS
eDreams加拿大:廉价航班、酒店和度假
2019/03/29 全球购物
PHP如何防止SQL注入
2014/05/03 面试题
师范大学音乐表演专业求职信
2013/10/23 职场文书
高级方案规划工程师岗位职责
2013/11/29 职场文书
入股协议书范本
2014/11/01 职场文书
2014年业务员工作总结范文
2014/11/17 职场文书
夫妻双方自愿离婚协议书怎么写
2014/12/01 职场文书
档案管理员岗位职责
2015/02/12 职场文书
公司保洁员岗位职责
2015/02/13 职场文书
专业技术职务聘任证明
2015/03/02 职场文书
2016年公司新年寄语
2015/08/17 职场文书
CPU不支持Windows11系统怎么办
2021/11/21 数码科技
div与span之间的区别与使用介绍
2021/12/06 HTML / CSS
如何通过一篇文章了解Python中的生成器
2022/04/02 Python