关于php几种字符串连接的效率比较(详解)
投稿:jingxian
下面小编就为大家带来一篇关于php几种字符串连接的效率比较(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
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几种字符串连接的效率比较(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。