php教程

超轻量级php框架startmvc

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

更新时间:2020-03-17 22:54:27 作者:startmvc
php大致有三种字符串连接:1、直接用.来进行连接。2、用.=进行连接。3、先压入数组,再通

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 字符串拼接 效率