首页 >php教程 >php手册 > 正文

对PHP采集数据提取核心函数的速度的测试与分析

原创2016-06-13 11:21:000296
对PHP采集数据提取核心函数的速度的测试与分析
由于程序需要,于是对PHP采集中的字符提取的核心部分进行了执行速度的测试。
测试了三种最常见的提取办法:
方法一:
require "class.debug.php";
function getContent ( $sourceStr )
{
$content = strstr( $sourceStr, '形' );
$content = substr( $content, 0, strrpos( $content, '言' ) + strlen( '言' ) );
return $content;
}
$sourceStr = '拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论';
$debug = new Debug;
$debug->startTimer();
for( $i = 0; $i < 1000000; $i++ )
{
$returnStr = getContent( $sourceStr );
}
$timeInfo = $debug->endTimer();
echo $timeInfo;
?>
通过比较低级的字符操作函数进行提取.
方法二:
require "class.debug.php";
function getContent ( $sourceStr )
{
$pattern = "/形(.*?)言/is";
preg_match_all( $pattern, $sourceStr, $result );
return $result[1][0];
}
$sourceStr = '拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论';
$debug = new Debug;
$debug->startTimer();
for( $i = 0; $i < 1000000; $i++ )
{
$returnStr = getContent( $sourceStr );
}
$timeInfo = $debug->endTimer();
echo $timeInfo;
?>
使用一个简单的正则来提取.
方法三:
require "class.debug.php";
function getContent ( $sourceStr )
{
$content = explode( '形', $sourceStr );
$content = explode( '言', $content[1] );
return $content[0];
}
$sourceStr = '拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论';
$debug = new Debug;
$debug->startTimer();
for( $i = 0; $i < 1000000; $i++ )
{
$returnStr = getContent( $sourceStr );
}
$timeInfo = $debug->endTimer();
echo $timeInfo;
?>
通过两次explode分裂字符串来提取.
测试前我的观点是: 1 > 2 > 3
php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 专题推荐

    作者信息

    php中文网

    认证0级讲师

    推荐视频教程
  • javascript初级视频教程javascript初级视频教程
  • jquery 基础视频教程jquery 基础视频教程
  • 视频教程分类