levenshtein()函数用于计算两个字符串之间的编辑距离。
int levenshtein ( string $str1 , string $str2 )
用于计算两个字符串之间的编辑距离。
编辑距离,是指两个字串之间,通过替换、插入、删除等操作将字符串str1转换成str2所需要操作的最少字符数量。 该算法的复杂度是 O(m*n),其中 n 和 m 分别是str1 和str2的长度 (当和算法复杂度为O(max(n,m)**3)的similar_text()相比时,此函数还是相当不错的,尽管仍然很耗时。)。
在最简单的形式中,该函数只以两个字符串作为参数,并计算通过插入、替换和删除等操作将str1转换成str2所需要的操作次数。
第二种变体将采用三个额外的参数来定义插入、替换和删除操作的次数。此变体比第一种更加通用和适应,但效率不高。
它返回两个参数字符串之间的 levenshtein 距离,否则返回-1
序号 | 参数和说明 |
---|---|
1 | str1 求编辑距离中的其中一个字符串 |
2 | str2 求编辑距离中的另一个字符串 |
3 | cost_ins 定义插入次数 |
4 | cost_del 定义替换次数 |
试试下面的实例,计算两个字符串之间的 Levenshtein 距离:
<?php //计算两个字符串之间的编辑距离 echo 'the distance between two strings is '; echo levenshtein("Hello World","ello World"); ?>测试看看‹/›
输出结果-
the distance between two strings is 1