这篇文章主要讲解了“PHP如何计算两个字符串的匹配度”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP如何计算两个字符串的匹配度”吧!
计算两个字符串匹配度(相似度),也就是计算两个字符串的匹配字符的数目;PHP中内置了一个函数可以实现各个功能,那就是similar_text()函数,下面我们来介绍一下这个函数。
首先我们来看一个小例子。
<?php header("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
的用法。
<?php header("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如何计算两个字符串的匹配度这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。