php 给数组去除重复数据的自定义函数

 代码如下 复制代码

/**
 * 给数组排重
 * 与array_unique函数的区别:它要求val是字符串,而这个可以是数组/对象
 *
 * @param unknown_type $arr 要排重的数组
 * @param unknown_type $reserveKey 是否保留原来的Key
 * @return unknown
 */
static function m_ArrayUnique($arr, $reserveKey = false)
{
if (is_array($arr) && !empty($arr))
{
foreach ($arr as $key => $value)
{
$tmpArr[$key] = serialize($value) . '';
}
$tmpArr = array_unique($tmpArr);
$arr = array();
foreach ($tmpArr as $key => $value)
{
if ($reserveKey)
{
$arr[$key] = unserialize($value);
}
else
{
$arr[] = unserialize($value);
}
}
}
return $arr;
}
时间: 2024-11-02 21:29:41

php 给数组去除重复数据的自定义函数的相关文章

JS求多个数组的重复数据_java

今天朋友问了我这个问题:JS求多个数组的重复数据  注:1.更准确的说是只要多个数组中有两个以上的重复数据,那么这个数据就是我需要的 2.单个数组内的数据不存在重复值(当然如果有的话,你可以去重) 3.耗时问题,这一点很重要  源代码:  <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>获取多个数组中的重复数据<

JavaScript中数组去除重复的三种方法_javascript技巧

废话不多说了,具体方法如下所示: 方法一:返回新数组每个位子类型没变 function outRepeat(a){ var hash=[],arr=[]; for (var i = 0; i < a.length; i++) { hash[a[i]]!=null; if(!hash[a[i]]){ arr.push(a[i]); hash[a[i]]=true; } } console.log(arr); } outRepeat([2,4,4,5,"a","a"

php去除数组中重复数据_php实例

废话不多说,直接上代码 复制代码 代码如下: /**          * 给数组排重          * 与array_unique函数的区别:它要求val是字符串,而这个可以是数组/对象          *          * @param unknown_type $arr 要排重的数组          * @param unknown_type $reserveKey 是否保留原来的Key          * @return unknown          */       

Angularjs的ng-repeat中去除重复数据的方法_AngularJS

本文实例讲述了Angularjs的ng-repeat中去除重复数据的方法.分享给大家供大家参考,具体如下: 一.JS: ngApp.filter('unique', function () { return function (collection, keyname) { var output = [], keys = []; angular.forEach(collection, function (item) { var key = item[keyname]; if (keys.index

php数组去重复数据示例

 这篇文章主要介绍了php数组去重复数据示例,有时候获得的php数组中总是出现value重复的,使用下面的方法就可以去掉重复数据 以数字开头的重复数据如:    代码如下: Array (  [0] => 100  [k1] => 100  [1] => 2123  [k2] => 2123  )     该方法可以将以数字为key的值去掉,先将数组按照key倒序排序,然后用array_unique的方法将重复的值去掉. 不能适用于下面的情况:不同的key值存在相同的value的情

C# 移除数组中重复数据

#region 移除数组中重复数据 /// <summary> /// 移除数组中重复数据 /// </summary> /// <param name="array">需要除重的数组</param> /// <returns>不重复数组</returns> public static string[] DelRepeatData(string[] array) { return array.GroupBy(p =

sql 去除重复数据(多字段)

问题描述 sql 去除重复数据(多字段) 我现在有个表 表里面有ID No,Pass 然后根据No,Pass相同的数据,保留Max(ID)数据,删除其他,如何做? 我是这么做的,不知道行不行 delete Min(ID),CAST(No AS VARCHAR)+CAST(Pass AS VARCHAR) from Table group by No, Pass having count(*) > 1 解决方案 可以用distinct或者group by一下 解决方案二: 试一下 DELETE F

《Clojure数据分析秘笈》——2.4节识别并去除重复数据

2.4 识别并去除重复数据 清洗数据过程中的一个难题是如何处理重复值.如何找到它们?一旦找到了如何处理?尽管这个过程中的一些步骤是自动进行的,但整合它们通常需要手动完成,因为人们需要检查匹配到的潜在结果并确定它们是不是重复的和如何处理重复数据.当然,可以用启发式编程,但在特定时刻需要手动调用. 第一个需要回答的问题是数据的构成.如果数据有两个项,需要检查哪些域来判断是否存在重复?还有,相似程度多高的数据才可以算得上重复数据? 在本方法中,通过在命名域进行模糊匹配来检查一些数据,以判断是否存在重复

读取excel去除重复数据,然后在存入数据库

问题描述 读取excel去除重复数据,数据量比较大,考虑执行效率问题,求大神给出最好解决方案 解决方案 解决方案二:如果你没有技术讨论,那么请把帖子发到"项目外包"论坛.免费"求"人,是一点诚意也没有的.解决方案三:你好!你可以在先Excel里面去除重复,再数据导入!这种方法不行吗?解决方案四:在查询Excel的时候直接去掉不行吗?和在数据库中一样用distinct解决方案五:可用第三方dll读取excel数据后进行去重然后存放到数据库中.aspose.cells读