PHPコレクションデータ抽出のコア機能の速度のテストと分析
プログラムのニーズにより、PHPコレクションの文字抽出のコア部分の実行速度をテストしました。
最も一般的な 3 つの抽出メソッドをテストしました:
方法 1:
require "class.debug.php";
function getContent ( $sourceStr )
{
$content = strstr( $sourceStr, 'form ' ) ;
$content = substr( $content, 0, strrpos( $content, 'Word' ) + strlen( 'Word' ) );
return $content;
}
$sourceStr = 'どのような形式でも誰でも拒否する コメントを投稿するこのフォーラムは中華人民共和国の法律に違反しています';
$debug = new Debug;
$debug->startTimer();
for( $i = 0; $i {
$returnStr = getContent( $sourceStr );
}
$timeInfo = $debug->endTimer();
echo $timeInfo;
?>
比較的低レベルの文字操作関数を使用して抽出します。
方法 2:
require "class.debug.php";
function getContent ( $sourceStr )
{
$pattern = "/shape(.*?)yan/is";
preg_match_all( $pattern, $sourceStr, $result );
return $result[1][0];
}
$sourceStr = '中華人民共和国の法律に反するコメントをこのフォーラムで行うことを拒否します';
$debug = 新しいデバッグ;
$debug->startTimer();
for( $i = 0; $i <1000000; $i++ )
{
$returnStr = getContent( $sourceStr );
}
$timeInfo = $debug-> ; endTimer();
echo $timeInfo;
?>
単純な正規表現を使用して抽出します。
方法 3:
require "class.debug.php";
function getContent ($sourceStr) {
$content =explode( 'Shape', $sourceStr );
$content =explode( 'Yan', $content[1] );
return $content[0];
}
$sourceStr = '誰でも拒否このフォーラムにおける中華人民共和国の法律に抵触するあらゆる形式の言論';
$debug = new Debug;
$debug->startTimer();
for( $i = 0; $i {
$returnStr = getContent( $sourceStr );
}
$timeInfo = $debug->endTimer();
echo $timeInfo;
?>
explodeで文字列を2回分割して抽出します。
以前のビュー: 1 > 2 > 3
http://www.bkjia.com/PHPjc/445171.html