分享下php获取数组中重复数据的两种方法。

1,利用php提供的函数,array_unique和array_diff_assoc来实现

  1. <?php
  2. function FetchRepeatMemberInArray($array) {
  3. // 去掉重复数据的数组
  4. $unique_arr = array_unique ( $array );
  5. // 获取重复数据的数组
  6. $repeat_arr = array_diff_assoc ( $array, $unique_arr );
  7. return $repeat_arr;
  8. }
  9.  
  10. // 测试
  11. $array = array (
  12. 'apple',
  13. 'iphone',
  14. 'miui',
  15. 'apple',
  16. 'orange',
  17. 'orange'
  18. );
  19. $repeat_arr = FetchRepeatMemberInArray ( $array );
  20. print_r ( $repeat_arr );
  21. /**
  22. * 去除数组中的重复数据
  23. * by www.jbxue.com
  24. */
  25. ?>

2,使用两次for循环,过滤重复数据

  1. <?php
  2. /**
  3. * 两次for循环去除数组中的重复数据
  4. * by www.jbxue.com
  5. */
  6. function FetchRepeatMemberInArray($array) {
  7. $len = count ( $array );
  8. for($i = 0; $i < $len; $i ++) {
  9. for($j = $i + 1; $j < $len; $j ++) {
  10. if ($array [$i] == $array [$j]) {
  11. $repeat_arr [] = $array [$i];
  12. break;
  13. }
  14. }
  15. }
  16. return $repeat_arr;
  17. }
  18.  
  19. // 测试
  20. $array = array (
  21. 'apple',
  22. 'iphone',
  23. 'miui',
  24. 'apple',
  25. 'orange',
  26. 'orange'
  27. );
  28. $repeat_arr = FetchRepeatMemberInArray ( $array );
  29. print_r ( $repeat_arr );
  30. ?>

php获取数组中重复数据的两种方法的更多相关文章

  1. 关于iOS去除数组中重复数据的几种方法

    关于iOS去除数组中重复数据的几种方法   在工作工程中我们不必要会遇到,在数组中有重复数据的时候,如何去除重复的数据呢? 第一种:利用NSDictionary的AllKeys(AllValues)方 ...

  2. iOS - 去除数组中重复数据的几种方法

    第一种:利用NSDictionary的AllKeys(AllValues)方法 代码: NSArray *dataArray = @[@"2018-02-01",@"20 ...

  3. JS去除数组中重复值的四种方法

    JS去除数组中重复值的四种方法 1 /// <summary>            o[this[i]] = "";  }      }       newArr.p ...

  4. MySQL中删除数据的两种方法

    转自:http://blog.csdn.net/apache6/article/details/2778878 1. 在MySQL中有两种方法可以删除数据: 一种是delete语句,另一种是trunc ...

  5. PHP去除数组中重复数据的两个例子

    例一: <?php$input = array("a" => "green","", "red"," ...

  6. Js中去除数组中重复元素的6种方法

    方法一: Array.prototype.method1 = function(){ var arr=[]; //定义一个临时数组 for(var i = 0; i < this.length; ...

  7. 关于MySQL中添加数据的两种方法

    下面介绍两种执行SQL命令的方法,并作出相应地总结,第一种介绍一种常规用法,下面进行做简要地分析,首先我们需要执行打开数据库操作首先创建一个MySqlConnection对象,在其构造函数中传入一个连 ...

  8. vue-cli中模拟数据的两种方法

    我所使用的是新版vue-cli 首先进行所需插件的安装,vue-resource,json-server,proxyTable. 目录结构如图 在main.js中引入vue-resource模块,Vu ...

  9. **PHP删除数组中特定元素的两种方法array_splice()和unset()

    方法一: 复制代码代码如下: <?php$arr1 = array(1,3, 5,7,8);$key = array_search(3, $arr1); if ($key !== false)  ...

随机推荐

  1. 判断手机andriod还是iphone

    手机识别:var isAndroid = navigator.appVersion.toLowerCase().indexOf(‘android’) >= 0,isIphone = naviga ...

  2. Debian 7 64位安装 wine

    一.安装 1. # apt-get install wine 安装完后在终端里运行wine: # wine 会弹出一个对话框: This is the wine64-bin helper packag ...

  3. LINQ to Entities 不识别方法“System.String ToString()”,因此该方法无法转换为存储表达式。

    var data = DataSource.Skip(iDisplayStart).Take(iDisplayLength).Select(o => new { MatNR = o.MatNR, ...

  4. android开发之路10(文件的读写)

    1.安卓中文件的数据存储实例(将文件保存到手机自带存储空间中): ①MainActivity.java public class MainActivity extends Activity imple ...

  5. MAC下查看端口占用并杀死进程

    Eclipse在Run on Server时,Tomcat是开启的,但是报错,显示8080.8005和8009端口被占用 终端输入 查看所有开启的端口 sudo lsof -i -P | grep - ...

  6. Mac下启动Apache

    1.启动 sudo apachectl -k start 2.重新启动 sudo apachectl -k restart     //-------------------------------- ...

  7. 基本Linux命令总结

    常用基本Linux命令总结 学习linux/unix之初,你可能会被上百条的各种命令搞的头昏脑涨,虽然可用的命令有很多,但是日常使用的不过那么几条,如果仅仅是DBA角色而非系统管理员,那么就来一起学习 ...

  8. [改善Java代码]子列表只是原列表的一个视图

    List接口提供了subList方法,其作用是返回一个列表的子列表.这与String类的subString有点类似.但是他们的功能是否相同?看代码: import java.util.ArrayLis ...

  9. poj 3159 差分约束

    思路:班长的糖果要比snoopy的多.并且要用手写堆栈,且堆栈的大小要开到20000000. #include<iostream> #include<cstdio> #incl ...

  10. ORACLE之PACKAGE

    刚学pl/sql编程,写了两个package.pkg_temp_fn和pkg_temp_fn2.内容涉及pl/sql基本语法,游标,存储过程(in,out),函数(有返回值). pkg_temp_fn ...