加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_梅州站长网 (https://www.0753zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP判断数组是否有重复值、获取重复值

发布时间:2022-10-13 12:31:45 所属栏目:PHP教程 来源:
导读:  一、判断是否有重复值

  if (count($arr) != count(array_unique($arr))) {
   echo '该数组有重复值';
  }
  二、获取重复的值(一维数组的值完全相等是重复;如果是二维数组,二维数组
  一、判断是否有重复值
 
  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;
  }
  举个例子:
 
  $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));
   
  输出:
   
  D:\office\wamp64\www\test.php:46:
  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)
  以上就是本文的全部内容PHP数组,希望对大家的学习有所帮助,也希望大家多多支持php自学中心
 

(编辑:云计算网_梅州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!