PHP字符串链接的效率

来源:互联网 发布:对大数据的理解300字 编辑:程序博客网 时间:2024/06/05 10:20

php大致有三种字符串连接:

1、直接用.来进行连接。

2、用.=进行连接。

3、先压入数组,再通过join函数连接。

下面分别对这三种方法的效率进行测试:

第一种方法代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php  
   functionget_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;
   }
   echoget_tm()-$start;
    
?>

运行4次,除去第一次运行时间,三次时间分别为:

22.165272951126
22.003527164459
22.15947508812

第二种方法代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php    
   functionget_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;
   }
   echoget_tm()-$start;
    
?>

运行4次,除去第一次运行时间,三次时间分别为:

3.1967310905457
3.1296961307526
3.0872850418091

第三种方法代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php     
   functionget_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);
   echoget_tm()-$start;
    
?>

运行4次,除去第一次运行时间,三次时间分别为:

3.3184430599213
3.2759411334991
3.2663381099701

由上可见,直接通过.进行字符串的连接效率最为低下。

原创粉丝点击