二つの文字列の比較をするときに、前から何文字が一致しているかとかではなくて、全体の何%くらいの文字が一致しているのかを返してくれる関数とかないのかな~と思っていたら、これがあったんですな。
similar_text()という関数がそれ。使い方はこんな感じ。
$str1 = "astrodeo";
$str2 = "macchi";
$result = similar_text($str1, $str2, $percent);
$resultには一致する文字数が返ってきます。第3引数には一致するパーセンテージが返ってきます。このパーセンテージは(返り値*2)/(2つの文字列の長さの合計)みたいな感じで算出しているそうで(こちらのサイトを参考にさせていただきました)・・・どうしてそういう計算式になるのかはよく分かりやせん。
ちなみに上のソースだと、$resultは1、$percentは14.2857142857%になるようです。
あ、循環小数じゃん、これ(果てしなくどうでもいい)。
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。