位置: 编程技术 - 正文

PHP字符串函数levenshtein()的用法(php字符串操作函数)

编辑:rootadmin
levenshtein

推荐整理分享PHP字符串函数levenshtein()的用法(php字符串操作函数),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php 字符串函数,php中字符串函数,php字符串包含某个字符串,php 字符串函数,在php中,字符串有哪些表示形式,php字符串赋值,php字符串的三种定义方式,php字符串的三种定义方式,内容如对您有帮助,希望把文章链接给更多的朋友!

(PHP 4 >= 4.0.1, PHP 5)

levenshtein — 计算两个字符串之间的编辑距离

说明 int levenshtein ( string $str1 , string $str2 ) int levenshtein ( string $str1 , string $str2 , int $cost_ins , int $cost_rep , int $cost_del )

编辑距离,是指两个字串之间,通过替换、插入、删除等操作将字符串str1转换成str2所需要操作的最少字符数量。 该算法的复杂度是 O(m*n),其中 n 和 m 分别是str1 和str2的长度 (当和算法复杂度为O(max(n,m)**3)的similar_text()相比时,此函数还是相当不错的,尽管仍然很耗时。)。

在最简单的形式中,该函数只以两个字符串作为参数,并计算通过插入、替换和删除等操作将str1转换成str2所需要的操作次数。

第二种变体将采用三个额外的参数来定义插入、替换和删除操作的次数。此变体比第一种更加通用和适应,但效率不高。

参数

str1

求编辑距离中的其中一个字符串

str2 PHP字符串函数levenshtein()的用法(php字符串操作函数)

求编辑距离中的另一个字符串

cost_ins

定义插入次数

cost_rep

定义替换次数

cost_del

定义删除次数

返回值

此函数返回两个字符串参数之间的编辑距离,如果其中一个字符串参数长度大于限制的个字符时,返回-1。

范例

Example #1 levenshtein() 例子:

<?php//输入拼写错误的单词$input='carrrot';//要检查的单词数组$words=array('apple','pineapple','banana','orange','radish','carrot','pea','bean','potato');//目前没有找到最短距离$shortest=-1;//遍历单词来找到最接近的foreach($wordsas$word){//计算输入单词与当前单词的距离$lev=levenshtein($input,$word);//检查完全的匹配if($lev==0){//最接近的单词是这个(完全匹配)$closest=$word;$shortest=0;//退出循环;我们已经找到一个完全的匹配break;}//如果此次距离比上次找到的要短//或者还没找到接近的单词if($lev<=$shortest||$shortest<0){//设置最接近的匹配以及它的最短距离$closest=$word;$shortest=$lev;}}echo"Inputword:$inputn";if($shortest==0){echo"Exactmatchfound:$closestn";}else{echo"Didyoumean:$closest?n";}?>

以上例程会输出:

参见

soundex() - Calculate the soundex key of a string similar_text() - 计算两个字符串的相似度 metaphone() - Calculate the metaphone key of a string

PHP字符串函数md5()的用法 md5(PHP4,PHP5)md5计算字符串的MD5散列值说明stringmd5(string$str[,bool$raw_output=false])使用RSA数据安全公司的MD5报文算法计算str的MD5散列值。参数str原始字符串。raw

PHP字符串函数md5_file()的用法 md5_file(PHP4=4.2.0,PHP5)md5_file计算指定文件的MD5散列值说明stringmd5_file(string$filename[,bool$raw_output=false])使用RSA数据安全公司的MD5报文算法计算filename文件的MD5

PHP字符串函数ltrim()的用法 ltrim(PHP4,PHP5)ltrim删除字符串开头的空白字符(或其他字符)说明stringltrim(string$str[,string$charlist])删除字符串开头的空白字符(或其他字符)参数str输入的

本文链接地址:https://www.jiuchutong.com/biancheng/278856.html 转载请保留说明!

上一篇:PHP字符串函数metaphone()的用法(php字符串函数大全)

下一篇:PHP字符串函数md5()的用法(php字符串函数有哪些)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络