位置: 编程技术 - 正文

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输入的

标签: php字符串操作函数

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

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

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

  • 小规模未开票收入如何填写申报表增值税
  • 已申报未导入是申报成功了吗
  • 工程违约金收入如何入账
  • 销售货物多收款怎么处理
  • 扶贫算出差吗
  • 工程保险费属于企业管理费吗
  • 先收入后开票如何做账
  • 搬运费计入
  • 企业法人不是实际老板怎么办
  • 停车服务费的税率
  • 直接融资租赁模式
  • 红字发票如果开多了下个月能进行抵扣么?
  • 发生的费用可以直接计入主营业务成本吗
  • 临时员工什么意思
  • 固定资产折现率怎么算
  • 预付的货款可以计入应付账款吗
  • 工程发票开具所需资料有什么?
  • 关于销售免税品的规定
  • 社保费税前扣还是税后扣
  • centos6.5下载
  • PHP:oci_set_client_info()的用法_Oracle函数
  • 销售购物卡如何交税
  • 货物运输印花税计算公式
  • 在妈妈身边的说说
  • 【torch.nn.Parameter 】参数相关的介绍和使用
  • 集成代码
  • 筹建期如果是一般纳税人 专票以后可以留着抵扣吗
  • magento后台无法登录解决办法的两种方法
  • 前端资源浏览器下载
  • redux入门教程
  • php怎么获取post数据
  • php100 jquery教程
  • 专利年费缴纳详细流程
  • 公司注册资金表格模板
  • 子公司计入长期股权投资吗
  • 普通发票网络服务系统
  • dedecms插件
  • 研发类公司能不能生产
  • sql语句批量添加数据
  • 营业账簿印花税申报流程
  • 税务局不予受理的依据
  • 金税盘发票二维码怎么生成
  • 营改增进程
  • 周转材料怎么做分录
  • 工程承建方给予什么赔偿
  • 电子汇票接收后怎么操作
  • 购买农产品进行销售要交税吗
  • 研发费用扣除75%
  • 新发票和旧发票的区别
  • 其他应付款在借方表示什么
  • 外资企业计提盈余公积吗
  • 财务大写金额书写样板
  • mysql数据库的总结
  • linux命令ethtool
  • centos双网卡配置超详细
  • 电脑主板bios设置图解
  • 如何隐藏windows激活水印
  • windows无法启动怎么解决
  • mac文档怎么传给winds
  • mac双系统怎么调整磁盘空间
  • 如何在win7系统中查看电脑基本信息
  • Extjs gridpanel 出现横向滚动条问题的解决方法
  • flash 3 utility
  • jquery对动态生成的进行操作
  • html页面头部
  • web技术栈
  • jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解
  • js怎么理解
  • jquery 放大镜
  • 中奖个人所得税扣除标准
  • 发票查询为什么查不出来
  • 贵阳网上办税服务厅
  • 进项税留抵是什么意思
  • 网上申报增值税纳税申报表怎么填写
  • 网上怎么申报地税
  • 与税务有关的公需课
  • 广东省电子税务局app下载手机版
  • 天津地税自助办税终端
  • 信用体系建设
  • 深圳海关属于省级吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设