使い方
$sound1 = soundex( “Word” );
$sound2 = metaphone( “Word” );
soundexとmetaphoneの関数は両方とも引数の文字列の発音を調べることのできる関数です。
soundex関数ならばW630とか、metaphone関数ならばWRTといった文字列が返ってきます。
使いどころ
いったいどういう時に使うんだ?と言いたくなる関数です。
そうです。これは他人にどうでもいいPHPの豆知識をひけらかすための関数なのです。
それは冗談ですが、、、
検索サービスで似たような単語や文章の検索などに使えるかもしれません。
少しだけ関数別にどんな値が返ってくるか調べてみました。
単語 | soundex関数の結果 | metaphone関数の結果 |
---|---|---|
Light | L230 | LFT |
Right | R230 | RFT |
Fight | F230 | FFT |
Night | N230 | NFT |
Knight | K523 | NFT |
Appropriate | A161 | APRPRT |
Inappropriate | I516 | INPRPRT |
Web Service | W126 | WBSRFS |
Web Site | W123 | WBST |
This is a pen. | T221 | 0SSPN |
What does it mean? | W323 | WTTSTMN |
ひかり | 0000 | |
みぎ | 0000 | |
ひだり | 0000 |
metaphone関数の方がパッと見で分かりやすい発音の文字列が返ってきます。
予想してましたが、日本語の単語(UTF-8のマルチバイト文字列)ではやっぱりダメですね。
metaphone関数ならば単語ではなくちょっとした文章でもそれなりの発音文字列が得られそうです。
使うならばmetaphone関数がオススメかもしれません。
公式サイトマニュアル
http://php.net/manual/ja/function.soundex.php
http://php.net/manual/ja/function.metaphone.php