栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

PHP判断数组是否有重复值用法

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PHP判断数组是否有重复值用法

一、判断是否有重复值

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

说明:获取数组的元素数量,如果有重复的,array_unique函数会将重复的剔除掉,相比不等则有重复。


二、获取重复的值(一维数组的值完全相等是重复;如果是二维数组,二维数组中的值必须完全相同才是重复)

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 ( [0] => Array ( [0] => aaa [1] => bbb [2] => ccc [3] => ddd [4] => aaa ) )


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/824824.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号