日報

日報です。

単純なものにオーバースペックはいけない(preg_match)

PHPにて、とある文字列に特定の文字列が入っているかを調べるとき。 (例えば「カーテンコール」という文字の中に「テンコ」という文字が入っているか?)

PHPには、それを調べる関数がいくつか用意されているのですがあまり気にしたことがなく、 とりあえずpreg_match()使うぜ!としてました。

けど、preg_match()はコストがかかるそうで、簡単な文字列の確認であれば、 strposのほうがいいとのこと。

ほんまか?と思ったら、公式にも書いてあった。

https://www.php.net/manual/ja/function.preg-match.php

ヒント
ある文字列が他の文字列内に含まれているかどうかを調べるためだけに preg_match() を使うのは避けた方が良いでしょう。 strpos() 関数を使うほうが速くなります。

あと、stripos()もあるからこれでもいいのかな。 今後、簡単な文字列の確認(正規表現使わなくていいレベル)では、preg_match()つかうのやめよ