2013年3月16日土曜日

文字列置換の注意点

PHPで複数の単語を一気に置換することがあると思います。
そういった場合における注意点です。

サンプルコード 実行結果
strtr
cba abc
cba abc

str_replace
abc abc
cba cba

preg_replace
abc abc
cba cba
と、上記のようにstrtrでは配列の順序に関わらず一定の結果を返すのに対し、
str_replaceとpreg_replaceでは配列の順番によって結果が異なります。

ちなみにベンチマークです。

サンプルコード 実行結果
BenchMark 1
BenchMark 1     average:0.016364622116089
BenchMark 2     average:0.019233679771423
BenchMark 3     average:0.045470118522644
きれいに結果に差が出ましたね。
単純な置換ではstrtrを使用するのが安全かつ高速のようです。

0 件のコメント:

コメントを投稿