PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

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」が生成されました。この特性を活かせば、あいまい検索やスペルチェック機能の実装などに応用できます。

  1. 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()

  2. PHPのmetaphone()関数とは?使い方と実行例をわかりやすく解説

    PHPの metaphone() 関数は、文字列のメタフォンキー(Metaphone Key)を計算するための関数です。メタフォンキーとは、その文字列が英語話者によって発音されたときに「どのように聞こえるか」を表す文字列のことです。この関数は、Soundexとよく似ていますが、英語の発音規則をより正確に反映しているため、スペルの類似判定や検索機能などで高い精度を発揮します。たとえば、「Since」と「Sins」のような発音が近い単語は、同じメタフォンキーを持つことがあります。構文metaphone(str, len)パラメータstr − メタフォンキーを計算したい対象の文字列を指定します。le