PHPで文字列分解の罠
※実経験の記憶を頼りに自宅の PC 環境(VMWareなど)で再現している内容もあるのでご注意下さい
2009-10-25
PHP の文字列分解(例えばカンマ区切りの文字列をカンマごとに分解する)に split()関数を使っていましたが、正規表現を使わない区切り指定の場合は explode()関数を使用した方が 3 倍ほど速い(教えてくれた知り合いの50万回のループ検証結果)です。
私が勘違いして、正規表現を必要としない場合にも split() を使用していたのは、split() が explode() のエイリアスだと思っていたこと。エイリアスなのは、文字列連結の方の implode() と join() の関係でした。
結果的に、正規表現を必要としない文字列分解は explode() を、正規表現を必要とする文字列分解は Perl 互換の preg_split() を使うと良さそうです。split() は PHP6.0 からなくなりますので。
[split]
$s = "A-B-C-D-E";
$arrays = split("-", $a);
[explode]
$s = "A-B-C-D-E";
$arrays = explode("-", $a);
関連記事
上記の記事に関連する記事(最新の10件)です。


