php大致有三种字符串连接:
1、直接用.来进行连接。
2、用.=进行连接。
3、先压入数组,再通过join函数连接。
下面分别对这三种方法的效率进行测试:
第一种方法代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<?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
第二种方法代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<?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
第三种方法代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?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几种字符串连接的效率比较(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。