PHP levenshtein()関数
サンプル
2つの文字列間の Levenshtein 距離を計算します:
echo levenshtein("Hello World","ello World");
echo "<br>";
echo levenshtein("Hello World","ello World",10,20,30);
サンプルを実行 »
定義と使用法
levenshtein() 関数は、2つの文字列間の Levenshtein 距離を返します。
Levenshtein 距離は、編集距離とも呼ばれ、2つの文字列間で、一方の文字列を他方の文字列に変換するために必要な最小の編集操作回数を指します。許可される編集操作には、ある文字を別の文字に置換する、文字を挿入する、文字を削除するが含まれます。
デフォルトでは、PHP は各操作(置換、挿入、削除)に同じ重みを与えます。ただし、オプションの insert、replace、delete パラメータを設定することで、各操作のコストを定義できます。
注記:levenshtein() 関数は大文字と小文字を区別しません。
注記:levenshtein() 関数は similar_text() 関数よりも高速です。ただし、similar_text() 関数は、より少ない必要な変更回数で、より正確な結果を提供します。
構文
levenshtein(string1,string2,insert,replace,delete)
| パラメータ | 説明 |
|---|---|
| string1 | 必須。比較する最初の文字列。 |
| string2 | 必須。比較する2番目の文字列。 |
| insert | オプション。1文字を挿入するコスト。デフォルトは 1。 |
| replace | オプション。1文字を置換するコスト。デフォルトは 1。 |
| delete | オプション。1文字を削除するコスト。デフォルトは 1。 |
技術詳細
| 戻り値: | 2つの引数文字列間の Levenshtein 距離を返します。どちらかの文字列が 255 文字を超える場合は -1 を返します。 |
|---|---|
| PHP バージョン: | 4.0.1+ |
PHP String リファレンスマニュアル その他の拡張