微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP字符串比较和相似性索引

在不包含PHP间的情况下,在两个字符串中查找常用字母的优雅代码是什么?

还返回相似性索引,即计算公共字符的数量,并将其作为字符总数的百分比返回.

假设我有一个字符串“LEGENDARY”,而其他字符串为“BARNEY STINSON”,所以我需要在不包含空格的情况下找到公共字母b / w.

此外,我的代码应返回相似性索引,即计算公共字符的数量,并将其作为字符总数的百分比返回.

对于这两个字符串,常见字符为“ARNEY”,因此得分为5 / 22~ = 22%.对此有何帮助?

解决方法:

similar_text().如果你想排除空格简单的str_replace(”,”,$string);之前.

echo similar_text ( 'LEGENDARY' , 'BARNEYSTINSON', $percent); // outputs 3
echo $percent; // outputs 27.272727272727

这是使用唯一字符的另一种方式

<?PHP
function unique_chars($string) {
   return count_chars(strtolower(str_replace(' ', '', $string)), 3);
}
function compare_strings($a, $b) {
    $index = similar_text(unique_chars($a), unique_chars($b), $percent);
    return array('index' => $index, 'percent' => $percent);
}
print_r( compare_strings('LEGENDARY', 'BARNEY STINSON') );

// outputs:
?>

Array
(
    [index] => 5
    [percent] => 55.555555555556
)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐