决定将哪个字符串转到 similar_text 中的第一个/第二个参数

Deciding which string to go to first / second parameter in similar_text

我有一个字符串列表。对于每个字符串,我需要从另一个字符串列表中找到最相似的字符串。目前,我总是将第一个列表中的字符串作为第一个参数传递,将第二个列表中的字符串作为 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中找出较长的字符串,一直作为第一个/第二个参数

我用 similar_text 做了很多关于交换的实验,我发现当第一个参数比第二个长时,会得到最正确的结果。在这种情况下,strlen 将成为您的朋友来决定第一个参数