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

php levenshtein,php字符串编辑距离

高老师4年前 (2020-10-06)PHP1180

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 base64保存为图片偷懒版本

php base64保存为图片偷懒版本

<?php $base64_body = substr(strstr($_POST[base64],','),1); $data= base64_decode($base64_body); file_put_contents($_SERVER[&q...

PHP模拟并发请求

PHP模拟并发请求

原理:使用curl_init()创建多个请求实例,再使用curl_multi_init()批量执行创建的多个请求实例。文件1:curl.php<?php  $threads=500;//并发请求次数 $url='http://blog.cn/index.php?';...

swoole中的worker_num和task_worker_num

swoole中的worker_num和task_worker_num

(1)swoole启动的主进程是master进程负责全局管理,然后master进程会再fork一个manager进程。(2)manager进程开始统一管理进程创建回收管理。(3)manager进程根据设置的worker_num和task_worker_num来创建work进程和task进程因此启动s...

php执行慢原因查找

php执行慢原因查找

今天帮朋友查询wordpress执行超级慢的原因,特此记录开启fpm的慢日志,记录执行超过30秒的脚本request_slowlog_timeout = 30 slowlog = var/log/slow.log查看日志[23-May-2019 17...

php定义常量数组

php定义常量数组

<?php //php7+ define('CONFIG', [     'MYSQL' => '127.0.0.1',     ...

php代理下载,php代下载文件,php下载远程文件,php远程文件下载

php代理下载,php代下载文件,php下载远程文件,php远程文件下载

经常我们下载国外资源容易被墙,可以通过php脚本获取远程文件流然后输出给我们的浏览器来下载。<?php //设置下载文件的url $url = 'https://mirrors.huaweicloud.com/ubuntukylin/ubuntukylin-19....