php levenshtein,php字符串编辑距离

简介: php levenshtein,php字符串编辑距离

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

目录
相关文章
|
7月前
|
PHP
PHP 字符串
PHP 字符串
25 0
|
1月前
|
JSON JavaScript PHP
PHP把unicode编码的json字符串转中文
PHP把unicode编码的json字符串转中文
13 0