溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP如何計(jì)算兩個(gè)字符串的匹配度

發(fā)布時(shí)間:2021-08-05 10:01:02 來(lái)源:億速云 閱讀:140 作者:chen 欄目:編程語(yǔ)言

這篇文章主要講解了“PHP如何計(jì)算兩個(gè)字符串的匹配度”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“PHP如何計(jì)算兩個(gè)字符串的匹配度”吧!

計(jì)算兩個(gè)字符串匹配度(相似度),也就是計(jì)算兩個(gè)字符串的匹配字符的數(shù)目;PHP中內(nèi)置了一個(gè)函數(shù)可以實(shí)現(xiàn)各個(gè)功能,那就是similar_text()函數(shù),下面我們來(lái)介紹一下這個(gè)函數(shù)。

首先我們來(lái)看一個(gè)小例子。

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

看這個(gè)代碼,你們覺(jué)得這個(gè)結(jié)果會(huì)是什么?我們來(lái)分析一下:在兩個(gè)字符串中有7個(gè)相同的字符:“Hello”、空格、“!”。

那么兩個(gè)字符串的相似度應(yīng)該為“7”,對(duì)不對(duì)?我們來(lái)看一下答案。

PHP如何計(jì)算兩個(gè)字符串的匹配度

是的,沒(méi)錯(cuò)。similar_text()函數(shù)統(tǒng)計(jì)了字符串$str1$str2中匹配字符的數(shù)目,并返回匹配字符數(shù)目。

那我們具體看看這個(gè)函數(shù)吧。

similar_text() 函數(shù)計(jì)算兩個(gè)字符串的相似度,返回匹配字符數(shù)目(數(shù)字形式);也能以百分比的形式返回兩個(gè)字符串的相似度。

看看它的語(yǔ)法格式:

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

可以看出,similar_text() 函數(shù)接受3個(gè)參數(shù):2個(gè)必需參數(shù)$string1$string2,1個(gè)可省略的參數(shù)$percent。通過(guò)上面的例子,2個(gè)必需參數(shù)我們知道它們的意思,下面來(lái)聊聊可省略的參數(shù)$percent。

參數(shù)$percent是用于指定供存儲(chǔ)百分比相似度的變量名。similar_text() 函數(shù)設(shè)置了該參數(shù),就可以能以百分比的形式返回兩個(gè)字符串的相似度。

下面通過(guò)代碼示例來(lái)看看參數(shù)$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;
?>

輸出結(jié)果:

PHP如何計(jì)算兩個(gè)字符串的匹配度

利用similar_text()函數(shù),可以用來(lái)做模糊搜索的功能,或者其他需要模糊匹配的功能。但因?yàn)閷?duì)漢字的處理規(guī)則不同,similar_text() 函數(shù)對(duì)中文計(jì)算不是很不準(zhǔn)確。

感謝各位的閱讀,以上就是“PHP如何計(jì)算兩個(gè)字符串的匹配度”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)PHP如何計(jì)算兩個(gè)字符串的匹配度這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI