php中基于百分比的字符串比较

时间:2009-11-17 21:00:12

标签: php string-comparison

我正在寻找一个PHP库,它允许我比较两个字符串,并确定它们是否相似。 例如:

apple apple 100%
apple aple  80%

等等。 任何想法?

4 个答案:

答案 0 :(得分:10)

http://www.php.net/manual/en/function.similar-text.php

  

similar_text - 计算两个字符串之间的相似性

     

<强>描述

int similar_text ( string $first , string $second [, float &$percent ] )
     

这计算两个字符串之间的相似性,如编程经典:由Oliver实施世界上最好的算法(ISBN 0-131-00413-1)中所述。请注意,此实现不像Oliver的伪代码那样使用堆栈,而是递归调用,这可能会也可能不会加速整个过程。另请注意,此算法的复杂性为O(N ** 3),其中N是最长字符串的长度...

正是这样。

答案 1 :(得分:3)

您可以考虑使用levenshteinsimilar-textsoundexmetaphone函数。

答案 2 :(得分:2)

similar_text('apple', 'apple', $percentage);
echo $percentage. // 100

similar_text('apple', 'aple', $percentage);
echo $percentage. // 88.88

答案 3 :(得分:1)

此外,如果您将此比较作为数据库中数据提取的一部分进行比较,则许多数据库引擎都具有SOUNDS LIKE(或SOUNDEX)实现。在数据库服务器中执行此操作比在PHP中执行此操作要快。