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

作者:袖梨 2022-06-24
 代码如下 复制代码

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

相关文章

精彩推荐