这个函数就可以array_unique()
创新互联专注于市中网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供市中营销型网站建设,市中网站制作、市中网页设计、市中网站官网定制、微信小程序服务,打造市中网络公司原创品牌,更为您提供市中网站排名全网营销落地服务。
array_unique() 函数移除数组中的重复的值,并返回结果数组。
当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。
返回的数组中键名不变。
?php
$a=array("a"="Cat","b"="Dog","c"="Cat");
print_r(array_unique($a));
?
输出:
Array ( [a] = Cat [b] = Dog )
这个问题有2层意思:
考虑数组为$arr = ("bob","bob","jose","rose","kid","rose","obo")
1,找出特定某个值重复了多少次,例如,找出数组中bob出现了多少次
$count = 0;
foreach($arr as $v)
{ if("bob" == $v )
$count ++;
}
这里求出来的$count 就是bob出现了多少次
2,找出重复过的值,而不是针对某个值。应该二重循环
$count = array(); //数组记录重复次数
$temp_count = 0;
foreach ( $arr as $ out )
foreach ($arr as $ in )
{
$temp_count = 0;
if($in == $out)
{
$temp_count ++;
if($temp_count 1)
{
$count[$in] = $temp_count;
}
}
}
这里的话,$count数组里面就是存放了重复过的键值和次数(大于1)
PHP 中的 array_count_values() 函数可以实现
array_count_values() 函数用于统计数组中所有值出现的次数。
本函数返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数。
array_count_values(array)
例如:
?php
$a=array("Cat","Dog","Horse","Dog");
print_r(array_count_values($a));
?
输出:
Array ( [Cat] = 1 [Dog] = 2 [Horse] = 1 )
1.首先,题主应该选一个相似度的计算维度,比如content字段,type字段等;
2.其次,题主考虑一下各个字段的权重,比如type字段必须相同,则让type字段使用typeWeight(例如赋值0.8)作为乘积的因子,而content字段本身是比较长的,所以需要计算出一个hash值,比如使用特定算法计算出一个hash值,然后把这个hash值按照16进制计算得到10进制数,再给一个权重contentWeight(例如0.2),另外再选取一个字段,比如description描述字段,再给一个权重descriptionWeight...
3.最后得到一个当前插入到表中的记录综合hash,typeWeight(contentHashcontentWeight+descriptionHash*descriptionWeight
+...),可能会涉及到大整数计算,不过PHP有BCMATH扩展可以使用,最终得到一个数值的综合hash值,保存到数据库的一个字段中,这个东西就可以理解为本条记录的特征值。