PHP中计算字符串相似性的函数代码
国际similar_text(字符串,字符串的二{,}浮$ %)
第一个是必要的,第一个字符串要比较。
第二个是必需的。需要比较的第二个字符串。
%是可选的。指定存储百分比相似性的变量名。
这两个字符串的相似性是根据奥利弗{ 1993 }描述计算。注意,实现不在奥利弗虚拟的代码使用堆栈,但它是递归调用,这可能会使整个过程或快或慢。注意,该算法的复杂性为O(N * * 3),n是最长的字符串的长度。
例如,我们要查找字符串的字符串之间的相似性和AEG:
复制代码代码如下所示:
第一=ABCDEFG美元;
二美元=AEG;
回声similar_text($第一、二美元);输出3。,如果你想以百分比显示,可以使用第三个参数,如下:
第一=ABCDEFG美元;
二美元=AEG;
similar_text(合一、二美元,美元,%);
回音百分之五;
similar_text功能的使用和实施,similar_text()函数主要用于计算两个字符串匹配的字符数,并计算出这两个字符串的相似性(百分比),Levenshtein()函数,我们今天介绍的是比similar_text更快()函数。然而,这similar_text()功能可以提供更准确的结果,减少不必要的修改。Levenshtein()函数时可以考虑速度是不准确的,字符串的长度是有限的。
指令
先看看Levenshtein的描述()在手动功能:
Levenshtein()函数返回两个字符串之间的编辑距离。
Levenshtein距离,也称为编辑距离是指最低数量的编辑操作两个字符串之间的要求,这是互相转化。许可的编辑操作包括与另一个字符替换一个字符,插入一个字符,或删除一个字符。
例如,把小猫变成坐着的人:
坐(K S)
在(E I)
坐(G)编辑()函数给出相同的重量为每个操作(替换,插入,删除)。然而,你可以通过设置可选的插入,定义每个操作的代价替换和删除参数。
Grammar:
Levenshtein(string1,string2,插入,替换,删除)
参数描述
一是必要的。要比较的第一个字符串。
STRING2是必要的。二字符串进行比较。
插入是可选的。插入字符的成本。默认值是1。
替换是可选的。替换字符的成本。默认值是1。
删除是可选的。删除一个字符的成本。默认值是1。
提示和注释
如果一个字符串超过255个字符,Levenshtein()函数返回到1。
Levenshtein()函数是区分大小写的情况下。
Levenshtein()函数比similar_text更快()函数。然而,这similar_text()函数提供了更精确的结果,需要较少的修改。
例子
复制代码代码如下所示:
< PHP
Echo Levenshtein(你好世界
;
Echo Levenshtein(你好世界
>
输出:130