Heim  >  Artikel  >  Backend-Entwicklung  >  php:similar_text函数的相关解析

php:similar_text函数的相关解析

WBOY
WBOYOriginal
2016-07-28 08:27:041201Durchsuche

当我们想去比较某些句子或者内容的相似度或者匹配程度的时候,难免就会用到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教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn