PHP判断数组是否有重复值、获取重复值
发布日期:2025-05-04 03:45:30 浏览次数:10 分类:精选文章

本文共 1265 字,大约阅读时间需要 4 分钟。

判断是否有重复值

判断数组中是否存在重复值,可以通过比较数组的长度和去重后的数组长度来实现。具体方法如下:

if (count($arr) != count(array_unique($arr))) {    echo '该数组中存在重复值';}

获取重复的值

对于一维数组,可以使用 array_diff_assoc 函数来获取重复值。该函数会返回一个数组,包含原数组中去重后被去除的元素。

function getRepeat($arr) {    $unique_arr = array_unique($arr);    $repeat_arr = array_diff_assoc($arr, $unique_arr);    return $repeat_arr;}

二维数组的重复值判断

对于二维数组,需要根据指定的键值对进行判断。如果二维数组中的某些键值对在多个元素中重复出现,则视为重复值。以下是一个实现方法:

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;}

示例

以下是一个实际案例:

$arr1 = array("aaa","bbb","ccc","ddd","aaa","bbb");$arr2 = array("aaa","bbb","ccc","ddd","aaa");$arr3 = array("aaa","bbb","lll","ddd","aaa","bbb");$arr = array($arr1, $arr2, $arr3);$keys = array(0, 1, 2);var_dump(getRepeat($arr, $keys));

输出结果:

array (size=1)0 => array (size=5)    0 => string 'aaa' (length=3)    1 => string 'bbb' (length=3)    2 => string 'ccc' (length=3)    3 => string 'ddd' (length=3)    4 => string 'aaa' (length=3)

通过上述方法,可以轻松判断和获取数组中的重复值。

上一篇:springboot基于Web的社区留守儿童管理系统源码毕设+论文
下一篇:php判断数组是否为空

发表评论

最新留言

关注你微信了!
[***.104.42.241]2026年06月14日 21时25分18秒