PHP字符串链接的效率

xiaoxiao2021-02-27  214

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

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

转载请注明原文地址: https://www.6miu.com/read-10005.html

最新回复(0)