【问题标题】:percentage-based string comparison in php [closed]php中基于百分比的字符串比较[关闭]
【发布时间】:2009-11-17 21:00:11
【问题描述】:

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

apple apple 100%
apple aple  80%

等等。 有什么想法吗?

【问题讨论】:

    标签: php string-comparison


    【解决方案1】:

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

    similar_text — 计算两个字符串之间的相似度

    说明

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

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

    确实如此。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:
        similar_text('apple', 'apple', $percentage);
        echo $percentage. // 100
        
        similar_text('apple', 'aple', $percentage);
        echo $percentage. // 88.88
        

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-04-11
            • 1970-01-01
            • 1970-01-01
            • 2013-01-06
            • 1970-01-01
            • 2014-02-23
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多