使用PHP similar text计算两个字符串相似度


Posted in PHP onNovember 06, 2015

在网站开发中,我们经常使用php similar text 计算两个字符串相似度;

1,similar_text的用法

    如果我想计算"ly89cn"和"ly89"的相似程度,有两种表示方法

echo similar_text('ly89cn', 'ly89');

     这样输出4,因为他们有4个字符相等

similar_text('ly89cn', 'ly89', $percent);

echo $percent;  

这样输出80,$percent代表百分比,说明他们有80%的相似程度

    当然也可以比较两个中文字符,比如“王业楼的个人博客”和“王业楼”

echo similar_text('王业楼的个人博客', '王业楼');

    这样输出9,表示他们的9个字节数相等

similar_text('王业楼的个人博客', '王业楼', $percent);

echo $percent;

     输出54.545454545455,注意中文字符可能不大准确!

PHP similar_text() 函数

实例

计算两个字符串的相似度,并返回匹配字符的数目:

<?php

echo similar_text("Hello World","Hello Shanghai");

?>

运行实例

定义和用法

similar_text() 函数计算两个字符串的相似度。

该函数也能计算两个字符串的百分比相似度。

注释:levenshtein() 函数比 similar_text() 函数更快。不过,similar_text() 函数通过更少的必需修改次数提供更精确的结果。

语法

similar_text(string1,string2,percent)

参数 描述
string1 必需。规定要比较的第一个字符串。
string2 必需。规定要比较的第二个字符串。
percent 可选。规定供存储百分比相似度的变量名。

技术细节

 

返回值: 返回两个字符串的匹配字符的数目。
PHP 版本: 4+

更多实例

例子 1

计算两个字符串之间的百分比相似度:

<?php

similar_text("Hello World","Hello Shanghai",$percent);

echo $percent. "%";

?>
PHP 相关文章推荐
使用PHP批量生成随机用户名
Jul 10 PHP
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
Jun 06 PHP
保存到桌面、设为桌面且带图标的PHP代码
Nov 19 PHP
PHP动态编译出现Cannot find autoconf的解决方法
Nov 05 PHP
CentOS6.5 编译安装lnmp环境
Dec 21 PHP
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
Jan 09 PHP
php pthreads多线程的安装与使用
Jan 19 PHP
[原创]php实现子字符串位置相互对调互换的方法
Jun 02 PHP
Yii2简单实现多语言配置的方法
Jul 23 PHP
PHP封装的mysqli数据库操作类示例
Feb 16 PHP
Laravel 修改默认日志文件名称和位置的例子
Oct 17 PHP
PHP中isset、empty的用法与区别示例详解
Nov 05 PHP
PHP正则表达式之捕获组与非捕获组
Nov 06 #PHP
php创建无限级树型菜单
Nov 05 #PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
Nov 05 #PHP
PHP递归创建多级目录
Nov 05 #PHP
PHP中的静态变量及static静态变量使用详解
Nov 05 #PHP
PHP环境中Memcache的安装和使用
Nov 05 #PHP
php生成gif动画的方法
Nov 05 #PHP
You might like
PHP中使用虚代理实现延迟加载技术
2014/11/05 PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
2015/12/18 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
2016/03/25 PHP
利用PHP访问带有密码的Redis方法示例
2017/02/09 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
myFocus slide3D v1.1.0 使用方法与下载
2011/01/12 Javascript
实现web打印的各种方法介绍及实现代码
2013/01/09 Javascript
javascript中的startWith和endWith的几种实现方法
2013/05/07 Javascript
利用javascript打开模态对话框(示例代码)
2014/01/11 Javascript
Javascript毫秒数用法实例
2015/02/05 Javascript
jQuery实现底部浮动窗口效果
2016/09/07 Javascript
Node.js Express 框架 POST方法详解
2017/01/23 Javascript
JavaScript中数组Array.sort()排序方法详解
2017/03/01 Javascript
JavaScript截屏功能的实现代码
2017/07/28 Javascript
JavaScript实现鼠标滚轮控制页面图片切换功能示例
2017/10/14 Javascript
vue watch监听对象及对应值的变化详解
2018/02/24 Javascript
js如何获取图片url的Blob值并预览示例代码
2019/03/07 Javascript
vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
2019/10/15 Javascript
js判断密码强度的方法
2020/03/18 Javascript
[02:57]2014DOTA2国际邀请赛-观众采访
2014/07/19 DOTA
[01:14]DOTA2亚洲邀请赛 ShowOpen
2015/02/07 DOTA
[01:54]胎教DOTA2 准妈妈玩家现身中国区预选赛
2016/06/26 DOTA
Python 实现12306登录功能实例代码
2018/02/09 Python
Python内置函数reversed()用法分析
2018/03/20 Python
Django之创建引擎索引报错及解决详解
2019/07/17 Python
Python基于class()实现面向对象原理详解
2020/03/26 Python
介绍一下linux的文件权限
2014/07/20 面试题
《草原》教学反思
2014/02/15 职场文书
综治维稳工作汇报
2014/10/27 职场文书
工作收入住址证明
2014/10/28 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
导游词之蜀山胜景瓦屋山
2019/11/29 职场文书
详解nginx安装过程并代理下载服务器文件
2022/02/12 Servers
德劲DE1102数字调谐收音机机评
2022/04/07 无线电
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
2022/04/14 Python