PHPのmetaphone()関数とは?使い方と実行例をわかりやすく解説
PHPの metaphone() 関数は、文字列のメタフォンキー(Metaphone Key)を計算するための関数です。メタフォンキーとは、その文字列が英語話者によって発音されたときに「どのように聞こえるか」を表す文字列のことです。
この関数は、Soundexとよく似ていますが、英語の発音規則をより正確に反映しているため、スペルの類似判定や検索機能などで高い精度を発揮します。たとえば、「Since」と「Sins」のような発音が近い単語は、同じメタフォンキーを持つことがあります。
構文
metaphone(str, len)
パラメータ
str − メタフォンキーを計算したい対象の文字列を指定します。
len − 生成されるメタフォンキーの最大長を指定します(省略可能)。
戻り値
成功した場合は文字列のメタフォンキーを返し、失敗した場合は FALSE を返します。
使用例
まずは、基本的な使い方を見てみましょう。
<?php
var_dump(metaphone('demo'));
?>出力
string(2) "TM"
使用例(キー長を指定した場合)
次に、第2引数 len を指定して、メタフォンキーの最大長を制限する例です。
<?php
var_dump(metaphone('Welcome', 3));
?>出力
string(3) "WLK"
このように、len に 3 を指定すると、先頭から最大3文字までのキーが返されます。
使用例(類似した発音の単語を比較)
最後に、発音が似ている単語同士を比較する例を見てみましょう。
<?php $one = "Since"; $two = "Sins"; echo metaphone($one); echo "<br>"; echo metaphone($two); ?>
出力
SNS
SNS
「Since」と「Sins」はスペルが異なりますが、発音が非常に似ているため、両方とも同じメタフォンキー「SNS」が生成されました。この特性を活かせば、あいまい検索やスペルチェック機能の実装などに応用できます。
-
PHPのquoted_printable_encode()関数の使い方を徹底解説
PHPのquoted_printable_encode()関数は、8ビット文字列をquoted-printable形式の文字列に変換するための組み込み関数です。quoted-printableはMIME(Multipurpose Internet Mail Extensions)で定義されているエンコード方式の一つで、主に電子メールで非ASCII文字(日本語など)を安全に送信する際に利用されます。構文quoted_printable_encode(str)パラメータstr − 変換対象となる8ビット文字列を指定します。この引数は必須です。戻り値quoted_printable_encode()
-
PHPのmetaphone()関数とは?使い方と実行例をわかりやすく解説
PHPの metaphone() 関数は、文字列のメタフォンキー(Metaphone Key)を計算するための関数です。メタフォンキーとは、その文字列が英語話者によって発音されたときに「どのように聞こえるか」を表す文字列のことです。この関数は、Soundexとよく似ていますが、英語の発音規則をより正確に反映しているため、スペルの類似判定や検索機能などで高い精度を発揮します。たとえば、「Since」と「Sins」のような発音が近い単語は、同じメタフォンキーを持つことがあります。構文metaphone(str, len)パラメータstr − メタフォンキーを計算したい対象の文字列を指定します。le