一、介绍
一、介绍
在PHP编程中,经常会涉及到比较两个字符串的相似程度,例如搜索引擎的关键词匹配,为此,PHP提供了两个用于计算字符串相似度的函数——similar_text()和levenshtein()。
- similar_text()函数通过计算两个字符串相同字符的数量来确定它们之间的相似度百分比。
- levenshtein()函数通过计算将一个字符串转换成另一个字符串所需的最少编辑距离(替换、插入、删除字符)来确定它们之间的相似度。
下面将分别介绍这两个函数的使用方法以及示例说明。
二、similar_text()函数
- 语法
int similar_text ( string $str1 , string $str2 [, float &$percent ] )
-
参数说明
-
str1:第一个字符串。
- str2:第二个字符串。
-
percent:相似度百分比,可选。
-
示例说明
下面是一个使用similar_text()函数计算字符串相似度的示例:
$str1 = "hello world";
$str2 = "HELLO WORLD";
similar_text($str1, $str2, $percent);
echo "字符串相似度为:".number_format($percent, 2)."%";
输出结果为:
字符串相似度为:81.82%
三、levenshtein()函数
- 语法
int levenshtein ( string $str1 , string $str2 [, int $cost_ins = 1 [, int $cost_rep = 1 [, int $cost_del = 1 ]]] )
-
参数说明
-
str1:第一个字符串。
- str2:第二个字符串。
- cost_ins:插入操作的代价,默认为1。
- cost_rep:替换操作的代价,默认为1。
-
cost_del:删除操作的代价,默认为1。
-
示例说明
下面是一个使用levenshtein()函数计算字符串相似度的示例:
$str1 = "hello world";
$str2 = "welcome";
$distance = levenshtein($str1, $str2);
echo "字符串距离为:".$distance;
输出结果为:
字符串距离为:11
四、总结
PHP提供了similar_text()和levenshtein()两个函数,用于计算字符串相似度。其中similar_text()计算两个字符串相同字符的数量来确定它们之间的相似度百分比,而levenshtein()计算将一个字符串转换成另一个字符串所需的最少编辑距离来确定它们之间的相似度。在实际编程中,要根据具体的需求选择使用哪个函数。
本文标题为:PHP改进计算字符串相似度的函数similar_text()、levenshtein()
基础教程推荐
- php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例 2023-01-14
- PHP树形结构tree类用法示例 2022-12-15
- PHP面向对象程序设计中的self、static、parent关键字用法分析 2023-02-05
- php 多个变量指向同一个引用($b = &$a)用法分析 2023-03-12
- php 文件上传至OSS及删除远程阿里云OSS文件 2023-06-13
- PHP基于curl实现模拟微信浏览器打开微信链接的方法示例 2022-12-22
- laravel5.6实现数值转换 2023-03-08
- PHP _construct()函数讲解 2022-12-15
- PHP SESSION跨页面传递失败解决方案 2023-05-08
- ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法 2022-11-21
