array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.metaphone.php', 1 => 'metaphone', ), 'up' => array ( 0 => 'ref.strings.php', 1 => 'String 関数', ), 'prev' => array ( 0 => 'function.md5.php', 1 => 'md5', ), 'next' => array ( 0 => 'function.money-format.php', 1 => 'money_format', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/strings/functions/metaphone.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
metaphone — 文字列の metaphone キーを計算する
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() の基本的な例
<?php
var_dump(metaphone('programming'));
var_dump(metaphone('programmer'));
?>
上の例の出力は以下となります。
string(7) "PRKRMNK" string(6) "PRKRMR"
例2 phonemes
パラメータの使用例
<?php
var_dump(metaphone('programming', 5));
var_dump(metaphone('programmer', 5));
?>
上の例の出力は以下となります。
string(5) "PRKRM" string(5) "PRKRM"
例3 phonemes
引数を使う
この例では、
metaphone() 関数は5文字の文字列を生成するように指定されていますが、
最後の音素を分割する必要がある
('x'
は 'KS'
に書き換えられるとします),
ため、返される文字列は6文字になります。
<?php
var_dump(metaphone('Asterix', 5));
?>
上の例の出力は以下となります。
string(6) "ASTRKS"