PHP levenshtein() 関数

計算二つの文字列間の Levenshtein 距離:

<?php
echo levenshtein("Hello World","ello World");
echo "<br>";
echo levenshtein("Hello World","ello World",10,20,30);
?>

実行例

定義と使用方法

levenshtein() ファンクションは二つの文字列間の Levenshtein 距離を返します。

Levenshtein 距離、または編集距離は、一つの文字列を別の文字列に変換するために必要な最少数の編集操作の回数を指します。許可された編集操作には、一つの文字を別の文字に置き換える、一つの文字を挿入する、一つの文字を削除するなどがあります。

デフォルトでは、PHP は各操作(置き換え、挿入、削除)に同じ重みを与えます。しかし、オプションの insert、replace、delete パラメータを設定することで、各操作のコストを定義できます。

注釈:levenshtein() ファンクションは大文字と小文字を区別しません。

注釈:levenshtein() ファンクションは similar_text() similar_text() ファンクションは、より少ない必要な修正回数でより正確な結果を提供できます。

文法

levenshtein(string1,string2,insert,replace,delete)
パラメータ 説明
string1 必須。比較する一つ目の文字列が必要です。
string2 必須。比較する二つ目の文字列が必要です。
insert オプション。一つの文字を挿入するコスト。デフォルトは 1 です。
replace オプション。一つの文字を置き換えるコスト。デフォルトは 1 です。
delete オプション。一つの文字を削除するコスト。デフォルトは 1 です。

技術的詳細

返り値: 二つのパラメータの文字列間の Levenshtein 距離を返します。いずれかの文字列が 255 文字を超える場合、-1 を返します。
PHP バージョン: 4.0.1+