我通过使用Jaccard距离来做到这一点,如下所示。首先为唯一的对象创建了两个表,从中我们可以从id收集对象,第二个表中的所有对象与(,)分隔在一起
1)image_sub_main表
2)image_main表
3)PHP文件作为Wordpress方式
global $wpdb;
$post_id = $wpdb->get_results("SELECT * FROM `image_main`");
$i=1;
$finimgarray = array();
$aa = array();
$bb = array();
$firstarray = array('similarity' =>100 , 'id' => $post_id[0]->id );
foreach($post_id as $key => $post){
if($i < count($post_id)){
$arraya =$post_id[0]->image_types;
$a = explode(",",$arraya);
$arrayb =$post_id[$i]->image_types;
$b = explode(",",$arrayb);
$array = array_unique (array_merge ($a, $b));
$result=array_intersect($a,$b);
$finalres = count($result) / count($array)*100 ;
$finimgarray[] = array('similarity' =>round($finalres, 2) , 'id' => $post_id[$i]->id );
}
$i++;
}
array_push($finimgarray, $firstarray);
arsort($finimgarray);
foreach($finimgarray as $findimgarr){
$id = $findimgarr['id'];
$image = $wpdb->get_row("SELECT * FROM `image_main` WHERE `id` = $id ");
echo "<img src='$image->image'/>";
}
您的输出将图像与第一张图像进行比较,并根据相似度显示
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句