给数组去除重复数据

/**
		 * 给数组排重
		 * 与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;
		}

发表评论

Close Menu