确定相似字符串

时间:2018-06-25 05:34:35

标签: php similarity

我有一个字符串列表。对于每个字符串,我需要从另一个字符串列表中找到最相似的字符串。目前,我总是像这样在similar_text中传递第一个列表中的字符串作为第一个参数,第二个列表中的字符串作为第二个参数:

foreach($list_a as $str_a){

    $most_similar_str = null;
    $most_similar_str_pct = 0;

    foreach($list_b as $str_b){

        //swapping parameter order may yield a different result
        similar_text($str_a, $str_b, $pct);

        if($pct > $most_similar_str_pct){
            $most_similar_str = $str_b;
            $most_similar_str_pct = pct;
        }
    }

    echo "The most similar text for {$str_a} is {$most_similar_str}\n";

}

交换similar_text中的第一和第二参数可能会产生不同的结果。为了产生更准确的结果,我不确定哪个字符串应该实际进入第一个/第二个参数。

我还在考虑是否应该首先从$str_a$str_b中找到较长的字符串,并始终将其用作第一个/第二个参数。

1 个答案:

答案 0 :(得分:1)

我已经进行了很多有关swap_text的关于交换的实验,并且看到当第一个参数长于第二个参数时,可以获得最正确的结果。在这种情况下,strlen将成为您的朋友来决定将成为第一个参数