首頁 >後端開發 >php教程 >php:similar_text函數的相關解析

php:similar_text函數的相關解析

WBOY
WBOY原創
2016-07-28 08:27:041239瀏覽

當我們想去比較某些句子或內容的相似度或匹配程度的時候,難免就會用到similar_text()這個函數,下面對這個函數進行一個代碼演示

我創立了6個句子,並且用到符號,然後進行兩兩對比,可以看出,該函數對比的不止是字母,其他符號也可以進行比較,當然也可以像代碼區最後一個語句那樣,用百分比進行比較兩句的相似性,代碼如下:

$a ="hello,aa";
$b ="hello,bb";
echo "第一個代碼示範:";
echo similar_text($a, $b);
$c ="helloaa";
$d ="hellobb";
echo "第二個程式碼示範: ";
echo similar_text($c, $d);
echo "n";
$e ="fedcba";
$f ="abcdef";
echo "第三個程式碼示範";
echo similar_text($e, $f);
similar_text($c, $d,$percent);
echo "第四個程式碼示範:";
echo $percent;
?>

輸出結果如下圖:

 php:similar_text函数的相关解析

 php:similar_text函数的相关解析

 php:similar_text函数的相关解析

 php:similar_text函数的相关解析

這時候我們會發現一個問題,就是第三個代碼區顯示的是1,而很明顯,如果不論順序的話,輸出的結果應該是6,論順序的話,結果應該是0,怎麼會是一呢,我們進一步示範:

$e ="ab";
$f ="ba";
echo "第三個程式碼進一步示範:";
similar_text($e, $f,$percent);

echo $percent."%";

?>

結果是: php:similar_text函数的相关解析

修改下參數:

$e ="abcd";
$f ="dcba";
echo "第三個程式碼進一步示範:";
similar_text($e, $f,$percent);

echo $percent."%";

?>

結果是|: php:similar_text函数的相关解析


不管比例怎麼變,總是有一個相似的字符存在,查看了官方文獻,發現這個函數是根據《Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1)》這本書中的演算法實現的,但是目前我還沒辦法解釋清楚這個問題,大家如果有什麼見解也可以說說,謝謝

以上就介紹了 php:similar_text函數的相關解析,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn