当前位置:首页 > PHP > 正文内容

php levenshtein,php字符串编辑距离

高老师6年前 (2020-10-06)PHP1303

levenshtein函数可以计算两个字符串之间的编辑距离,那么何为编辑距离?

编辑距离概念:编辑距离,是指两个字串之间,通过替换or插入or删除等操作将字符串str1转换成str2所需要操作的最少字符数量。 该算法的复杂度是 O(m*n),其中 n 和 m 分别是str1 和str2的长度

注意:如果其中一个字符串参数长度大于限制的255个字符时,返回-1。

举个例子1:只需要七次替换or插入or删除就能把gaojiufeng变成gao

echo levenshtein('gaojiufeng', 'gao');

这个函数还能设置最多的替换插入删除次数,后面还有3个参数,分别是:

cost_ins
定义插入次数

cost_rep
定义替换次数

cost_del
定义删除次数

再举个例子1:

echo levenshtein('gaojiufeng', 'gao',0,0,1);
echo levenshtein('gaojiufeng', 'gao',0,0,0);

允许删除1次,它就会把jiufeng删除变成gao

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/162.html

分享给朋友:

“php levenshtein,php字符串编辑距离” 的相关文章

php经纬度计算距离

php经纬度计算距离

/**  * 计算两点地理坐标之间的距离  * @param  Decimal $longitude1 起点经度  * @param  Decimal $lati...

PHP获取原始数据

PHP获取原始数据

在项目中需要对图片进行裁剪,前端裁剪完成发送base64给后端,但是很意外的PHP获取到的数据和前端有点差距,之前我都是先加密,后端解密,但是这次依然不行。于是使用filter_input方法轻松解决。$base64 =  filter_input(INPUT_POST...

php抽奖概率算法

php抽奖概率算法

<?php /*  *算法学习自百度.只是学习和记录  */ header("Content-type:text/html;charset=utf-8"); //1.设置奖项,id是奖项id,name是中奖名称,v是中奖概率 $arr =&n...

PHP中的ArrayAccess用法详解

PHP中的ArrayAccess用法详解

php arrayaccess 官方的说法是让你能以数组的形式访问对象,对于这种php内置接口一直不太明白有什么用,坚持多看文章,终于理解,特来分享,思路不同,更易于理解。(1).创建一个学生类,并且实现arrayaccess 接口。<?php class  studen...

php上传大文件,php大文件上传

php上传大文件,php大文件上传

(1).前端文件:<form action="upload.php" method="post" enctype="multipart/form-data">    &...

php json_encode 使用注意

php json_encode 使用注意

参数中包含gb2312的字符串,返回结果是false或者null(不同PHP版本具有差异性)代码:<?php $dbms = 'mysql'; $host = '192.168.8.8'; $dbName =&n...