这篇文章主要讲解了“PHP如何计算两个字符串的匹配度”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP如何计算两个字符串的匹配度”吧!
计算两个字符串匹配度(相似度),也就是计算两个字符串的匹配字符的数目;PHP中内置了一个函数可以实现各个功能,那就是similar_text()函数,下面我们来介绍一下这个函数。
首先我们来看一个小例子。
<?phpheader("Content-type:text/html;charset=utf-8");$str1="Hello php!";$str2="Hello java!";echo "字符串 “'$str1'” 和字符串 “'$str2'” 的相似度为: ".similar_text($str1,$str2);?>
看这个代码,你们觉得这个结果会是什么?我们来分析一下:在两个字符串中有7个相同的字符:“Hello”、空格、“!”。
那么两个字符串的相似度应该为“7”,对不对?我们来看一下答案。
是的,没错。similar_text()函数统计了字符串$str1
和$str2
中匹配字符的数目,并返回匹配字符数目。
那我们具体看看这个函数吧。
similar_text() 函数计算两个字符串的相似度,返回匹配字符数目(数字形式);也能以百分比的形式返回两个字符串的相似度。
看看它的语法格式:
similar_text($string1,$string2,[$percent])
可以看出,similar_text() 函数接受3个参数:2个必需参数$string1
和$string2
,1个可省略的参数$percent
。通过上面的例子,2个必需参数我们知道它们的意思,下面来聊聊可省略的参数$percent
。
参数$percent
是用于指定供存储百分比相似度的变量名。similar_text() 函数设置了该参数,就可以能以百分比的形式返回两个字符串的相似度。
下面通过代码示例来看看参数$percent
的用法。
<?phpheader("Content-type:text/html;charset=utf-8");$str1="Hello php!";$str2="Hello java!";similar_text($str1,$str2,$percent);echo "字符串 “'$str1'” 和字符串 “'$str2'” 的相似度为: ".$percent;?>
输出结果:
利用similar_text()函数,可以用来做模糊搜索的功能,或者其他需要模糊匹配的功能。但因为对汉字的处理规则不同,similar_text() 函数对中文计算不是很不准确。
感谢各位的阅读,以上就是“PHP如何计算两个字符串的匹配度”的内容了,经过本文的学习后,相信大家对PHP如何计算两个字符串的匹配度这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!