PHP levenshtein() 函数用法及示例

PHP String 字符串函数手册

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

PHP String 字符串函数手册