一、判断是否有重复值
if (count($arr) != count(array_unique($arr))) {
echo '该数组有重复值';
}
二、获取重复的值(一维数组的值完全相等是重复;如果是二维数组,二维数组中的值必须完全相同才是重复)
function getRepeat($arr) {
// 获取去掉重复数据的数组
$unique_arr = array_unique ( $arr );
// 获取重复数据的数组
$repeat_arr = array_diff_assoc ( $arr, $unique_arr );
return $repeat_arr;
三、二维数组局部键对应值数据判断是否重复
/*
作用:根据二维数组中的部分键值判断二维数组中是否有重复值
参数:
$arr —— 目标数组
$keys —— 要进行判断的键值组合的数组
返回:重复的值
扩展:判断的键值
*/
function getRepeat($arr,$keys) {
$unique_arr = array();
$repeat_arr = array();
foreach ($arr as $k => $v) {
$str = "";
foreach ($keys as $a => $b) {
$str .= "{$v[$b]},";
}
if( !in_array($str, $unique_arr) ){
$unique_arr[] = $str;
} else {
$repeat_arr[] = $v;
}
}
return $repeat_arr;