特定の文章やコンテンツの類似性や一致度を比較したい場合、必然的にsimilar_text()関数を使用します。この関数のコードデモを以下に示します。
6つの文章を作成し、記号を使用してそれらを比較します。もちろん、コード領域の最後のステートメントのように、パーセンテージを使用して 2 つの文の類似性を比較することもできます。次のように:
$a ="hello,aa";
$b ="hello,bb";
echo "最初のコードのデモ:";
echo like_text($a, $b );
$c ="helloaa";
$d ="hellobb";
echo "2 番目のコードのデモ:";
echo minimum_text($c, $d);
echo "n";
$e = "fedcba" ;
$f ="abcdef";
echo "3 番目のコードのデモ";
echo minimum_text($e, $f);
similar_text($c, $d,$percent);
echo "No. 4 つのコードのデモ: ";
echo $percent;
?>
出力結果は次のとおりです:
この時点で、3番目のコードである問題が見つかります。 area には 1 が表示され、当然、順序に関係なく、出力結果は 6 になるはずです。順序に関係なく、結果は 0 になるはずです。どうすれば 1 になるのでしょうか。
$ e ="ab";
$f ="ba";
echo "3 番目のコードはさらに次のことを示しています:";
similar_text($e, $f,$percent);
echo $percent."%";
?
結果は次のようになります:
パラメータを変更します:
$e ="abcd";
$f ="dcba";
echo "3 番目のコードはさらに次のことを示します:"
similar_text ($e, $f,$percent);
echo $percent."%";
?>
結果は |:
割合がどのように変化しても、常に似た文字が存在します。 , 公式文献を確認したところ、この関数は「Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1)」という書籍のアルゴリズムに基づいて実装されていることが分かりましたが、まだ方法がわかりません。この問題についてご意見がございましたら、ぜひ共有してください。
上記では、php:similar_text 関数の関連する分析を、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。