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几种字符串连接的效率比较(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。