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

 更新时间:2017年02月22日 10:12:06   转载 投稿:jingxian  
下面小编就为大家带来一篇关于php几种字符串连接的效率比较(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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中define() 与 const定义常量的区别详解

    PHP中define() 与 const定义常量的区别详解

    这篇文章主要介绍了PHP中define() 与 const定义常量的区别,结合实例形式分析了php中使用define()与const定义常量的具体使用原理、技巧与相关用法区别,需要的朋友可以参考下
    2019-06-06
  • php 服务器调试 Zend Debugger 的安装教程

    php 服务器调试 Zend Debugger 的安装教程

    调试技术是我们编程中不可或缺的重要部分,调试器是每个IDE环境都必备的组件。既然如此,Zend Studio的集成环境拥有一个调试器也就是理所当然的事情了,但是,该调试器在配置使用起来,其显示出来的强劲功能一定会让你惊叹不已!
    2009-09-09
  • PHP匿名函数(闭包函数)详解

    PHP匿名函数(闭包函数)详解

    今天小编就为大家分享一篇关于PHP匿名函数(闭包函数)详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • thinkphp实现图片上传功能

    thinkphp实现图片上传功能

    这篇文章主要介绍了thinkphp实现图片上传功能的相关资料,需要的朋友可以参考下
    2016-01-01
  • PHP输出两个数字中间有多少个回文数的方法

    PHP输出两个数字中间有多少个回文数的方法

    这篇文章主要介绍了PHP输出两个数字中间有多少个回文数的方法,实例分析了回文数的概念与相关判断技巧,需要的朋友可以参考下
    2015-03-03
  • php将数据库导出成excel的方法

    php将数据库导出成excel的方法

    有时写程序时后台要求把大量数据导入数据库中,比如考试成绩、电话簿等一般都是存放在excel中的数据,这时我们可把excel导出成csv文件,然后通过以下程序即可批量导入数据到数据库中
    2010-05-05
  • php截取指定2个字符之间字符串的方法

    php截取指定2个字符之间字符串的方法

    这篇文章主要介绍了php截取指定2个字符之间字符串的方法,通过一个简单的自定义函数来实现这一功能,主要涉及php中stripos、substr等方法的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • PHP实现UTF8二进制及明文字符串的转化功能示例

    PHP实现UTF8二进制及明文字符串的转化功能示例

    这篇文章主要介绍了PHP实现UTF8二进制及明文字符串的转化功能,涉及php进制及编码转换相关操作技巧,需要的朋友可以参考下
    2017-11-11
  • 推荐学习php sesson的朋友必看PHP会话(Session)使用入门

    推荐学习php sesson的朋友必看PHP会话(Session)使用入门

    对比起 Cookie,Session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制,本文简单介绍 Session 的使用。
    2008-08-08
  • php中实现进程锁与多进程的方法

    php中实现进程锁与多进程的方法

    这篇文章给大家介绍了单进程的情况的进程锁实现、进程锁实现多进程、进程锁在yii2中的实现以及杀死进程的命令,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-09-09

最新评论