2 つの文字列間のレーベンシュタイン距離を計算します。
<?phpエコーレーベンシュタイン( " Hello World " , " ello World " ) ; " <br> " ; levenshtein ( " Hello World " , " ello World " , 10 , 20 , 30 ) ? >levenshtein() 関数は、2 つの文字列間のレーベンシュタイン距離を返します。
編集距離とも呼ばれるレーベンシュタイン距離は、ある文字列を別の文字列に変換するために 2 つの文字列間で必要な編集操作の最小数を指します。許可される編集操作には、ある文字を別の文字に置き換える、文字を挿入する、文字を削除するなどがあります。
デフォルトでは、PHP はすべての操作 (置換、挿入、削除) に同じ重みを与えます。ただし、オプションの挿入、置換、および削除パラメータを設定することで、各操作のコストを定義できます。
注: levenshtein() 関数では大文字と小文字が区別されません。
注: levenshtein() 関数は、similar_text() 関数よりも高速です。ただし、similar_text() 関数を使用すると、必要な変更が少なく、より正確な結果が得られます。
レーベンシュテイン(文字列1,文字列2,挿入,置換,削除)
パラメータ | 説明する |
---|---|
文字列1 | 必須。比較する最初の文字列。 |
文字列2 | 必須。比較する 2 番目の文字列。 |
入れる | オプション。キャラクターを挿入するコスト。デフォルトは 1 です。 |
交換する | オプション。キャラクターを置き換えるのにかかるコスト。デフォルトは 1 です。 |
消去 | オプション。キャラクターを削除するコスト。デフォルトは 1 です。 |
戻り値: | 2 つの引数文字列間のレーベンシュタイン距離を返します。文字列の 1 つが 255 文字を超える場合は -1 を返します。 |
---|---|
PHPのバージョン: | 4.0.1+ |