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

php如何去除数组中相同的值

发布时间:2022-10-12 12:49:13 所属栏目:PHP教程 来源:
导读:  php如何去除数组中相同的值

  本文讲解"php怎么去除数组中相同的值",希望能够解决相关问题。

  三种方法:1、用array_unique,语法“array_unique(数组)”;2、用array_flip(),语法&ldq
  php如何去除数组中相同的值
 
  本文讲解"php怎么去除数组中相同的值",希望能够解决相关问题。
 
  三种方法:1、用array_unique,语法“array_unique(数组)”;2、用array_flip(),语法“array_flip(array_flip(数组))”;3、用foreach和两个空数组,语法“foreach($arr as $k1=>$v1){$r1[$v1]=$k1;}foreach($r1 as $k2=>$v2){$r2[$v2]=$k2;}”。
 
  本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
 
  去除数组中相同的值,就是去除数组中的重复值。PHP数组去重有多种方法,下面给大家介绍一下。
 
  方法1:使用去重函数array_unique()
 
  array_unique() 函数用于移除数组中重复的值。如果两个或更多个数组值相同PHP数组,只保留第一个值,其他的值被移除。
 
  注释:被保留的数组将保持第一个数组项的键名类型。
 
  array_unique(array,sortingtype)
  登录后复制
 
  参数描述
 
  array
 
  必需。规定数组。
 
  sortingtype
 
  可选。规定排序类型。可能的值:
 
  返回值:返回过滤后的数组。
 
  示例:去除相同值
 
  "Cat",2,"b"=>"Dog","c"=>"Cat",2,3,4,3);
  var_dump($arr1);
  $arr2=array_unique($arr1);
  var_dump($arr2);
  ?>
  方法2:利用array_flip()函数
 
  array_flip() 函数用于反转/交换数组中的键名和对应关联的键值。
 
  而数组的键名(key)是唯一的、是不会重复存在的。
 
  利用这个特性,如果数组中有二个值是一样的,那么反转数组后会保留最后一个键和值,这样既可间接的实现数组的去重。
 
  "Cat",2,"b"=>"Dog","c"=>"Cat",2,3,4,3);
  var_dump($arr);
  $arr1?=?array_flip($arr);//先反转一次,去掉重复值
  var_dump($arr1);
  $arr2?=?array_flip($arr1);//再反转回来,得到去重后的数组
  var_dump($arr2);
  ?>
  方法1和方法2的区别:
 
  用array_flip()得到的是重复元素最后的键和值,用array_unique得到的是重复元素中第一个键和值。
 
  方法3:利用foreach语句和两个空数组
 
  还是利用键名唯一的特性,利用foreach语句和两个空数组来反转两次数组的键名和键值的位置即可。
 
  $v1){
   $res1[$v1]=$k1;
   }
   foreach?($res1?as?$k2?=>?$v2){??
   ????$res2[$v2]=$k2;
   }
   echo?"去重后的数组:";
   var_dump($res2);
  }
  $arr=array(1,2,3,4,5,4,3,2,1,0);
  f($arr);
  ?>
  关于 "php怎么去除数组中相同的值" 就介绍到此。希望多多支持编程宝库。
 
  下一节:php怎么去掉值为空的数组元素PHP编程技术
 
  php如何去掉值为空的数组元素:本文讲解"php怎么去掉值为空的数组元素",希望能够解决相关问题。两种去除方法:1、使用array_filter()函数,可以过滤数组,删除空值元素,语法“array_filter($arr)”。2、利用fo ...
 

(编辑:拼字网)

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