Php/docs/function.metaphone

提供:Dev Guides
< Php
移動先:案内検索

metaphone

(PHP 4, PHP 5, PHP 7)

metaphone文字列の metaphone キーを計算する


説明

metaphone ( string $string [, int $max_phonemes = 0 ] ) : string

string の metaphone キーを計算します。

soundex() と同様に metaphone は、 発音が似た単語について同じキーを作成します。metaphone は、 英語の発音の基本的ルールを知っているので、 soundex() よりも正確です。 metaphone が生成するキーは可変長です。

metaphone は、Lawrence Philips <lphilips at verity dot com> により 開発されました。["Practical Algorithms for Programmers", Binstock & Rex, Addison Wesley, 1995] で解説されています。


パラメータ

string
入力文字列。
max_phonemes
このパラメータは、返される metaphone キーの長さを最大 max_phonemes 文字 までに制限します。 しかし、phonemes は完全に書き換えられるので、 結果の文字列の長さは、max_phonemes よりも少し長くなります。 デフォルト値の 0 は、無制限であることを意味します。


返り値

metaphone キーを文字列で返します。


変更履歴

バージョン 説明
8.0.0 この関数は、失敗時に false を返さなくなりました。


例1 metaphone() の基本的な例

<?phpvar_dump(metaphone('programming'));var_dump(metaphone('programmer'));?>

上の例の出力は以下となります。


string(7) "PRKRMNK"
string(6) "PRKRMR"

例2 phonemes パラメータの使用例

<?phpvar_dump(metaphone('programming', 5));var_dump(metaphone('programmer', 5));?>

上の例の出力は以下となります。


string(5) "PRKRM"
string(5) "PRKRM"

例3 phonemes 引数を使う

この例では、 metaphone() 関数は5文字の文字列を生成するように指定されていますが、 最後の音素を分割する必要がある ('x''KS' に書き換えられるとします), ため、返される文字列は6文字になります。


<?phpvar_dump(metaphone('Asterix', 5));?>

上の例の出力は以下となります。


string(6) "ASTRKS"