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

对于重复数据我们多半会放到数据或数据库中然后进行删除或排除重复数据,下面我们来看一个简单的给数组去除重复数据的函数,有兴趣的朋友可进入参考,代码如下:

  1. /**
  2. * 给数组排重
  3. * 与array_unique函数的区别:它要求val是字符串,而这个可以是数组/对象
  4. *
  5. * @param unknown_type $arr 要排重的数组
  6. * @param unknown_type $reserveKey 是否保留原来的Key
  7. * @return unknown
  8. */
  9. static function m_ArrayUnique($arr, $reserveKey = false)
  10. {
  11. if (is_array($arr) && !emptyempty($arr))
  12. {
  13. foreach ($arr as $key => $value)
  14. {
  15. $tmpArr[$key] = serialize($value) . '';
  16. }
  17. $tmpArr = array_unique($tmpArr);
  18. $arr = array();
  19. foreach ($tmpArr as $key => $value)
  20. {
  21. if ($reserveKey)
  22. {
  23. $arr[$key] = unserialize($value);
  24. }//开源代码phpfensi.com
  25. else
  26. {
  27. $arr[] = unserialize($value);
  28. }
  29. }
  30. }
  31. return $arr;
  32. }