PHPでtrim+全角スペースを取り除く時のベンチマークを取って見た
全角スペースを取り除くのにどっちが早いのかな〜
- 全角スペースを半角にしてからtrim
<?php trim( mb_convert_kana( $hoge, "s"));
- 正規表現で置換
<?php mb_ereg_replace( "^( | |\t|\n|\r|\0|\x0B)*|( | |\t|\n|\r|\0|\x0B)*$", "", $hoge);
ベンチの結果、上の方が早いみたいっす。。。
詳細は以下より
書いたソース
<?php $hoge = " \t \n 適当な文字列 \t \t\n"; print 'trim+mb_convert_kana<br/>'; $start_time = microtime(true); for( $i = 0; $i <= 200000; $i++) { trim( mb_convert_kana( $hoge, "s")); } $end_time = microtime( true); $time = $end_time - $start_time; print " {$time}ミリ秒"; print "<br/>----------------------------------<br/>"; print 'mb_ereg_replace<br/>'; $start_time = microtime( true); for( $i = 0; $i <= 200000; $i++) { mb_ereg_replace( "^( | |\t|\n|\r|\0|\x0B)*|( | |\t|\n|\r|\0|\x0B)*$", "", $hoge); } $end_time = microtime( true); $time = $end_time - $start_time; print " {$time}ミリ秒"; print "<br/>----------------------------------<br/>";
実験環境1
- 1回目
trim + mb_convert_kana 9.2487151622772ミリ秒 ---------------------------------- mb_ereg_replace 15.671895027161ミリ秒 ----------------------------------
- 2回目
trim + mb_convert_kana 9.3685929775238ミリ秒 ---------------------------------- mb_ereg_replace 15.768704891205ミリ秒 ----------------------------------
- 3回目
trim + mb_convert_kana 9.2497129440308ミリ秒 ---------------------------------- mb_ereg_replace 15.544082164764ミリ秒 ----------------------------------
実験環境2
- 1回目
trim + mb_convert_kana 0.711861133575ミリ秒 ---------------------------------- mb_ereg_replace 4.96990203857ミリ秒 ----------------------------------
- 2回目
trim + mb_convert_kana 0.724739789963ミリ秒 ---------------------------------- mb_ereg_replace 5.06015396118ミリ秒 ----------------------------------
- 3回目
trim + mb_convert_kana 0.693895101547ミリ秒 ---------------------------------- mb_ereg_replace 5.03003406525ミリ秒 ----------------------------------
実験環境3
- 1回目
trim + mb_convert_kana 0.491611003876ミリ秒 ---------------------------------- mb_ereg_replace 1.36231207848ミリ秒 ---------------------------------- >|| - 2回目 >|| trim + mb_convert_kana 0.467578172684ミリ秒 ---------------------------------- mb_ereg_replace 1.30224108696ミリ秒 ----------------------------------
- 3回目
trim + mb_convert_kana 0.46227312088ミリ秒 ---------------------------------- mb_ereg_replace 1.33242917061ミリ秒 ----------------------------------