核心函数: similar_text()
思路:从文章列表中取出所有文章的标题,构成一个文章数组,将所有文章的标题同当前文章的标题对比,将对比结果生成一个相似度数组,按照相似度的数组的“值"将此数组降序排序,循环相似度数组根据"键"的次序依次取出文章数组对应的"键"的值构成推荐数组,可以将总的推荐数组截取前三,选出相似度排名前三的文章。
不说废话,直接上代码。
//相关文章推荐的方法
public function recommend(){
header("Content-type: text/html; charset=utf8");
$title = "php从入门到放弃(基础篇+实战)";
//所有文章数组
$arr_title = array("php入门与实战","php基础入门","php核心编程","php设计模式","php实战详解(基础篇)");
//构成相似度数组
for($i = 0 ; $i < count($arr_title); $i++){
$similar_num[$i] = similar_text($title,$arr_title[$i]);
}
//按照相似度大小的值升序排列
arsort($similar_num);
//取出排序后对应键的文章标题构成推荐文章数组
foreach($similar_num as $k => $v){
$commned_arr[] = $arr_title[$k].'---相似度为---'.$similar_num[$k];
}
//选出相似度为前3的文章
print_r(array_slice($commned_arr,0,3));
}
最后打印的结果: