2020-06-22 14:20:12 112次浏览 4条回答 0 悬赏 10 金钱

php 怎么匹配两个字符串的相似度?

亿速云
  • 回答于 2020-06-22 15:04 举报
    $first = "abcdefg";
    $second = "aeg";
    echo similar_text($first, $second); //结果输出3.如果想以百分比显示,则可使用它的第三个参数,如下:
    $first = "abcdefg";
    $second = "aeg";
    similar_text($first, $second, $percent);
    echo $percent;
    
    2 条回复
    回复于 2020-06-22 15:25 回复

    你这个函数有一个弊端,处理汉字完全就不行了哦,我主要是需要匹配汉字的,汉字加字符

    回复于 2020-06-23 12:57 回复

    把两个变量的汉字转成json字符串(或其他编码),再进行similar_text不就行了

  • 回答于 2020-06-23 12:58 举报
    $a= '中华人民共和国';
    $b='中华人民共和';
    $a_str = json_encode($a);
    $b_str = json_encode($b);
    $c = '';
    echo $a_str.'<br>'.$b_str.'<br>';
    var_dump(similar_text($a_str, $b_str,$c));
    echo '<br>';
    echo $c;
    
  • 回答于 2020-06-25 10:03 举报

    楼上的方法 当然是 不行的,
    两个完全不同的汉字,其 unicode 编码完全可以很相似
    比如: 这个字的 unicode 编码是 \u4e2d 这个字的 unicode 编码是 \u4e2a
    你比较 这两个字的 json_encode 编码 肯定相似度很高(况且 json_encode 的结果 前后还会有两个双引号 捣乱)

您需要登录后才可以回答。登录 | 立即注册
PHP学院的中学生
经理

PHP学院的中学生

注册时间:2018-10-23
最后登录:23小时前
在线时长:56小时50分
  • 粉丝16
  • 金钱625
  • 威望20
  • 积分1385

热门问题