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

PHPのlevenshtein()関数とは?使い方とサンプルコードをわかりやすく解説

PHPのlevenshtein()関数は、2つの文字列間の「レーベンシュタイン距離(編集距離)」を計算するための関数です。レーベンシュタイン距離とは、1つ目の文字列を2つ目の文字列へ変換する際に必要となる、文字の置換・挿入・削除の最小回数のことを指します。なお、この関数は大文字と小文字を区別しません。

レーベンシュタイン距離は、スペルチェッカーの候補提示や、テキストの類似度判定など、さまざまな場面で活用される重要な概念です。

構文

levenshtein(str1, str2, insert, replace, delete)

パラメータ

  • str1 − 比較対象となる1つ目の文字列

  • str2 − 比較対象となる2つ目の文字列

  • insert − 文字を挿入する際のコスト(省略可能)

  • replace − 文字を置換する際のコスト(省略可能)

  • delete − 文字を削除する際のコスト(省略可能)

insert・replace・delete の各コストを指定しない場合、すべてのコストはデフォルト値の「1」として扱われます。

戻り値

levenshtein()関数は、引数として渡された2つの文字列間のレーベンシュタイン距離を整数で返します。ただし、いずれかの文字列が255文字を超える場合は -1 を返します。

使用例

以下は、levenshtein()関数を使用した具体的な例です。

<?php
   echo levenshtein("Welcome","elcome");
?>

出力結果

1

この例では、「Welcome」から「elcome」への変換には先頭の「W」を1回削除するだけでよいため、結果として「1」が出力されます。

  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のquoted_printable_decode()関数とは?使い方とサンプルコードを解説

    PHPのquoted_printable_decode()関数は、quoted-printable形式でエンコードされた文字列を、8ビット文字列にデコードするために使用されます。メール本文などで使われるquoted-printableエンコーディングを元に戻したい場合に便利な関数です。 構文 quoted_printable_decode(str) パラメータ str − デコード対象となる入力文字列を指定します。 戻り値 quoted_printable_decode()関数は、デコード後の8ビットASCII文字列を返します。 使用例 以下は、quoted_printable_dec