首頁 > 後端開發 > PHP問題 > PHP字串學習如何計算兩個字串的匹配度

PHP字串學習如何計算兩個字串的匹配度

青灯夜游
發布: 2023-03-11 21:54:01
原創
2614 人瀏覽過

在先前的文章《PHP字串學習之比較兩個字串》中,我們介紹了3種比較兩個字串的方法,有興趣的可以看看。下面這篇文章我們來聊聊在PHP計算兩個字串匹配度(相似度)的方法,有需要的可以參考參考。

計算兩個字串匹配度(相似度),也就是計算兩個字串的匹配字元的數目;PHP中內建了一個函數可以實現各個功能,那就是similar_text()函數,下面我們來介紹一下這個函數。

首先我們來看一個小例子。

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

看這個程式碼,你們覺得這個結果會是什麼?讓我們來分析一下:在兩個字串中有7個相同的字元:「Hello」、空格、「!」。

那麼兩個字串的相似度應該是“7”,對不對?我們來看看答案。

PHP字串學習如何計算兩個字串的匹配度

是的,沒錯。 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 "字符串 “&#39;$str1&#39;” 和字符串  “&#39;$str2&#39;” 的相似度为: ".$percent;
?>
登入後複製

輸出結果:

PHP字串學習如何計算兩個字串的匹配度

使用similar_text()函數,可以用來做模糊搜尋的功能,或是其他需要模糊匹配的功能。但因為對漢字的處理規則不同,similar_text() 函數對中文計算不是很不準確。

好了就說到這裡了,有其他想知道的,可以點選這個喔。 → →php影片教學

 最後給大家推薦閱讀一個經典課程《PHP字串處理(玉女心經版)》,免費的~快來學習啊!

以上是PHP字串學習如何計算兩個字串的匹配度的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板