ホームページ > バックエンド開発 > PHPチュートリアル > 2 つの文字列間の距離を返す PHP 関数 levenshtein()

2 つの文字列間の距離を返す PHP 関数 levenshtein()

黄舟
リリース: 2023-03-16 22:18:02
オリジナル
1272 人が閲覧しました

2 つの文字列間のレーベンシュタイン距離を計算します:

<?php
echo levenshtein("Hello World","ello World");
echo "<br>";
echo levenshtein("Hello World","ello World",10,20,30);
?>
ログイン後にコピー

定義と使用法

levenshtein() 関数は、2 つの文字列間のレーベンシュタイン距離を返します。

編集距離とも呼ばれるレーベンシュタイン距離は、ある文字列を別の文字列に変換するために 2 つの文字列間で必要な編集操作の最小数を指します。許可される編集操作には、ある文字を別の文字に置き換える、文字を挿入する、文字を削除するなどがあります。

デフォルトでは、PHP はすべての操作 (置換、挿入、削除) に等しい重みを与えます。ただし、オプションの挿入、置換、および削除パラメータを設定することで、各操作のコストを定義できます。

注: levenshtein() 関数は大文字と小文字を区別しません。

注: levenshtein() 関数は、similar_text() 関数より高速です。ただし、similar_text() 関数を使用すると、必要な変更が少なく、より正確な結果が得られます。

構文

levenshtein(string1,string2,insert,replace,delete)
ログイン後にコピー

パラメータ構文比較する最初の文字列。

string2 必須。比較する 2 番目の文字列。

挿入 オプション。キャラクターを挿入するコスト。デフォルトは 1 です。

replace オプション。キャラクターを置き換えるのにかかるコスト。デフォルトは 1 です。

削除 オプション。キャラクターを削除するコスト。デフォルトは 1 です。

技術的な詳細

戻り値: 2 つのパラメータ文字列間のレーベンシュタイン距離を返します。文字列の 1 つが 255 文字を超える場合は -1 を返します。

PHP バージョン: 4.0.1+

文字列の 1 つが 255 文字を超える場合、levenshtein() 関数は -1 を返します。

levenshtein() 関数は大文字と小文字を区別しません。

levenshtein() 関数は、similar_text() 関数より高速です。ただし、similar_text() 関数を使用すると、修正が少なくて済み、より正確な結果が得られます。

<?php
    echo levenshtein("Hello World","ello World");
    echo "<br />";
    echo levenshtein("Hello World","ello World",10,20,30);
    ?>
ログイン後にコピー

出力:
 1 30
ログイン後にコピー

以上が2 つの文字列間の距離を返す PHP 関数 levenshtein()の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート