我有一个字符串列表。对于每个字符串,我需要从另一个字符串列表中找到最相似的字符串。目前,我总是像这样在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
中找到较长的字符串,并始终将其用作第一个/第二个参数。
答案 0 :(得分:1)
我已经进行了很多有关swap_text的关于交换的实验,并且看到当第一个参数长于第二个参数时,可以获得最正确的结果。在这种情况下,strlen将成为您的朋友来决定将成为第一个参数