中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在PHP項目中實現一個相關文章推薦功能

發布時間:2020-12-16 15:23:18 來源:億速云 閱讀:171 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關如何在PHP項目中實現一個相關文章推薦功能,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

這個思路用到的關鍵函數是:

int similar_text ( string $first, string $second[, float $percent] )

它返回的是兩個字根串的相同字節數。

按照這個思路,我們建立如下的函數,這個函數的功能是把$arr_title數組按照同$title相似的的順序重新排列數組。

<?php 
$demo_title= "簡明現代魔法"; 
$demo_arr_title= array("簡單易懂的現代魔法","簡單明了的現代魔法","簡明扼要的古代魔法","不簡單的現代魔法","很難懂的現代魔法"); 
$new_array= getSimilar($demo_title,$demo_arr_title); 
//print_r($new_array); 
echo"與[$demo_title]最相關的前三個文章是:<br/>"; 
for($j=0; $j<=2; $j++) 
{ 
echo($j+1).":".$new_array[$j]."<br/>"; 
} 
//$title當前標題,$arrayTitle為需要查找的數組 
functiongetSimilar($title,$arr_title) 
{ 
$arr_len= count($arr_title); 
for($i=0; $i<=($arr_len-1); $i++) 
{ 
//取得兩個字符串相似的字節數 
$arr_similar[$i] = similar_text($arr_title[$i],$title); 
} 
arsort($arr_similar); //按照相似的字節數由高到低排序 
reset($arr_similar); //將指針移到數組的第一單元 
$index= 0; 
foreach($arr_similaras$old_index=>$similar) 
{ 
$new_title_array[$index] = $arr_title[$old_index]; 
$index++; 
} 
return$new_title_array; 
} 
?>

程序運行結果:

與[簡明現代魔法]最相關的前三個文章是: 
1:簡單明了的現代魔法 
2:簡單易懂的現代魔法 
3:簡明扼要的古代魔法

有些需要注意的地方

關于similar_text速度,有人做過這個一個測試,結果是:

The speed issues for similar_text seem to be only an issue for long sections of text (>20000 chars).

I found a huge performance improvement in my application by just testing if the string to be tested was less than 20000 chars before calling similar_text.

20000+ took 3-5 secs to process, anything else (10000 and below) took a fraction of a second. Fortunately for me, there was only a handful of instances with >20000 chars which I couldn't get a comparison % for.

如果要直接使用正文作對比速度可能會比較慢。

據說這個函數用于英文的效果不太好(感興趣的讀者可以自行嘗試)。用于英文時可以將英文句子用空格分開成多個單詞后再寫一個類似于similar_text的函數。

以上就是如何在PHP項目中實現一個相關文章推薦功能,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安西县| 榆中县| 志丹县| 郯城县| 治县。| 伊金霍洛旗| 宜兰县| 潼南县| 麻城市| 永清县| 云阳县| 肥乡县| 高密市| 常熟市| 达日县| 永川市| 龙口市| 陆川县| 兰溪市| 大宁县| 南开区| 寻乌县| 永宁县| 宁河县| 壤塘县| 康保县| 晋城| 尚志市| 凌云县| 汝州市| 横峰县| 左贡县| 珠海市| 西乌珠穆沁旗| 醴陵市| 民勤县| 大兴区| 湖口县| 册亨县| 辽宁省| 和硕县|