请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

模板之家 首页 教程频道 查看内容

PHP字符串学习之如何计算两个字符串的匹配度

模板之家 2021-8-4 19:50

分享至 : QQ空间
收藏

在之前的文章《PHP字符串学习之比较两个字符串》中,我们介绍了3种比较两个字符串的方法,感兴趣的可以看看。下面这篇文章我们来聊聊在PHP中计算两个字符串匹配度(相似度)的方法,有需要的可以参考参考。

在之前的文章《PHP字符串学习之比较两个字符串》中,我们介绍了3种比较两个字符串的方法,感兴趣的可以看看。下面这篇文章我们来聊聊在PHP中计算两个字符串匹配度(相似度)的方法,有需要的可以参考参考。

计算两个字符串匹配度(相似度),也就是计算两个字符串的匹配字符的数目;PHP中内置了一个函数可以实现各个功能,那就是similar_text()函数,下面我们来介绍一下这个函数。

首先我们来看一个小例子。

<?php
header("Content-type:text/html;charset=utf-8");
$str1="Hello php!";
$str2="Hello java!";
echo "字符串 “'$str1'” 和字符串  “'$str2'” 的相似度为: ".similar_text($str1,$str2);
?>

看这个代码,你们觉得这个结果会是什么?我们来分析一下:在两个字符串中有7个相同的字符:“Hello”、空格、“!”。

那么两个字符串的相似度应该为“7”,对不对?我们来看一下答案。

1.png

是的,没错。similar_text()函数统计了字符串$str1$str2中匹配字符的数目,并返回匹配字符数目。

那我们具体看看这个函数吧。

similar_text() 函数计算两个字符串的相似度,返回匹配字符数目(数字形式);也能以百分比的形式返回两个字符串的相似度。

看看它的语法格式:

similar_text($string1,$string2,[$percent])

可以看出,similar_text() 函数接受3个参数:2个必需参数$string1$string2,1个可省略的参数$percent。通过上面的例子,2个必需参数我们知道它们的意思,下面来聊聊可省略的参数$percent

参数$percent是用于指定供存储百分比相似度的变量名。similar_text() 函数设置了该参数,就可以能以百分比的形式返回两个字符串的相似度。

下面通过代码示例来看看参数$percent的用法。

<?php
header("Content-type:text/html;charset=utf-8");
$str1="Hello php!";
$str2="Hello java!";
similar_text($str1,$str2,$percent);
echo "字符串 “'$str1'” 和字符串  “'$str2'” 的相似度为: ".$percent;
?>

输出结果:

2.png

利用similar_text()函数,可以用来做模糊搜索的功能,或者其他需要模糊匹配的功能。但因为对汉字的处理规则不同,similar_text() 函数对中文计算不是很不准确。

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

最后给大家推荐阅读一个经典课程《PHP字符串处理(玉女心经版)》,免费的~快来学习啊!

以上就是PHP字符串学习之如何计算两个字符串的匹配度的详细内容,更多请关注模板之家(www.mb5.com.cn)其它相关文章!


路过

雷人

握手

鲜花

鸡蛋
来自: 网络收集
文章评论0人参与
热门频道
  • ecshop成人用品商城网站源源码模板 微信小
  • ecshop微信小程序代生成服务 可选购小程序
  • 【可选购小程序】ecshop生鲜食品蔬菜水果特
  • 【可选购小程序】ecshop医药品保健药房网站
  • ecshop百货超市日用品网站 免费生成微信小
  • ecshop办公用品文具耗材设备 免费生成微信
  • 【可选购小程序】ecshop家居家纺床上用品源
  • 【可选购小程序】ecshop户外运动体育用品健
  • ecshop整站数据打包 带数据 适合申请支付、
  • ecshop跨境购海淘微信分销商城网站源码模板
    推荐文章
  • 热门
  • 最新
返回顶部