PHP上級者が集まるスレ (612レス)
1-

479: 458 2012/04/21(土)19:00 ID:IaLOn3+I(2/3) AAS
早速3種類の方法を比較してみましたよ?
検査データの質にもよるだろうけれど、とりあえず 1000個の32文字のデータを用意した。
それらは9割が 0123456789abcdefABCDEF のみからなり、残り1割が それ以外のマルチバイト文字を含む。

1.preg_match('/[^0-9a-f]/iu',$str)
2.ctype_xdigit($str)
3.for($j=0,$jmax=mb_strlen($str,'UTF-8'),$b=true;$j<$jmax;$j++) $b&=!(mb_strpos($safestr,mb_substr($str,$j,1,'UTF-8'),0,'UTF-8')===false);

それぞれについて1000個のデータを100回まわした結果。
1→245.14[msec]
2→41.80[msec]
3→7953.70[msec]

ちなみに環境は
Pentium(R) Dual-Core CPU E5400 @ 2.70GHz
cache size : 2048 KB
CentOS release 5.5 (Final)
PHP Version 5.2.17, Zend Engine v2.2.0

想像以上に正規表現はやいな。
>>462さん >>470さん ありがとう。
1-
あと 133 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.004s