int similar_text ( string first, string second [, float &percent] )
percent 直接反映相似度不知道计算这个有什么实际意义
echo similar_text('检查内容重复情况', '检查内容不重复情况', $r); //16 已比较的长度
echo $r; //94.1176470588 两个字符串的相似程度
但是他们的意义是相反的!
percent 直接反映相似度不知道计算这个有什么实际意义
echo similar_text('检查内容重复情况', '检查内容不重复情况', $r); //16 已比较的长度
echo $r; //94.1176470588 两个字符串的相似程度
但是他们的意义是相反的!
解决方案 »
- 泪中求oop 显示策略
- 各位大哥PHP高手,小弟我刚刚学PHP,在生成静态分页遇到了点问题,就是翻页的问题,希望可以給出一个漂亮完整的翻页代码,谢谢!
- 基础[给数组赋值]
- serialize的问题,无法处理双引号啊,谁能帮我一下。
- 关于php 生成静态页,标签问题
- 着急啊,php调用java的问题,up有分
- 求救菜鸟问题:怎样配置php服务!
- html页面中审查元素,<head>的内容出现到<body>
- php中的static除了能不实例化访问还有什么用?
- ueditor编辑器,只能编辑1000以内的内容,超过内容会不保存???
- 请问大家那里有PHP+mysql数据库的相关SQL手册
- php 小数转换百分数函数
GO
SET ANSI_NULLS ON
GOCREATE function get_semblance_By_2words
(
@word1 varchar(50),
@word2 varchar(50)
)
returns nvarchar(4000)
as
begin
declare @re int
declare @maxLenth int
declare @i int,@l int
declare @tb1 table(child varchar(50))
declare @tb2 table(child varchar(50))
set @i=1
set @l=2
set @maxLenth=len(@word1)
if len(@word1)<len(@word2)
begin
set @maxLenth=len(@word2)
end
while @l<=len(@word1)
begin
while @i<len(@word1)-1
begin
insert @tb1 (child) values( SUBSTRING(@word1,@i,@l) )
set @i=@i+1
end
set @i=1
set @l=@l+1
end
set @i=1
set @l=2
while @l<=len(@word2)
begin
while @i<len(@word2)-1
begin
insert @tb2 (child) values( SUBSTRING(@word2,@i,@l) )
set @i=@i+1
end
set @i=1
set @l=@l+1
end
select @re=isnull(max( len(a.child)*100/ @maxLenth ) ,0) from @tb1 a, @tb2 b where a.child=b.child
return @re
end
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
--测试
--select dbo.get_semblance_By_2words('我是谁','我是谁啊')
--75
--相似度