php获取数组中重复数据的两种方法
分享下php获取数组中重复数据的两种方法。
1,利用php提供的函数,array_unique和array_diff_assoc来实现
- <?php
- function FetchRepeatMemberInArray($array) {
- // 去掉重复数据的数组
- $unique_arr = array_unique ( $array );
- // 获取重复数据的数组
- $repeat_arr = array_diff_assoc ( $array, $unique_arr );
- return $repeat_arr;
- }
- // 测试
- $array = array (
- 'apple',
- 'iphone',
- 'miui',
- 'apple',
- 'orange',
- 'orange'
- );
- $repeat_arr = FetchRepeatMemberInArray ( $array );
- print_r ( $repeat_arr );
- /**
- * 去除数组中的重复数据
- * by www.jbxue.com
- */
- ?>
2,使用两次for循环,过滤重复数据
- <?php
- /**
- * 两次for循环去除数组中的重复数据
- * by www.jbxue.com
- */
- function FetchRepeatMemberInArray($array) {
- $len = count ( $array );
- for($i = 0; $i < $len; $i ++) {
- for($j = $i + 1; $j < $len; $j ++) {
- if ($array [$i] == $array [$j]) {
- $repeat_arr [] = $array [$i];
- break;
- }
- }
- }
- return $repeat_arr;
- }
- // 测试
- $array = array (
- 'apple',
- 'iphone',
- 'miui',
- 'apple',
- 'orange',
- 'orange'
- );
- $repeat_arr = FetchRepeatMemberInArray ( $array );
- print_r ( $repeat_arr );
- ?>
php获取数组中重复数据的两种方法的更多相关文章
- 关于iOS去除数组中重复数据的几种方法
关于iOS去除数组中重复数据的几种方法 在工作工程中我们不必要会遇到,在数组中有重复数据的时候,如何去除重复的数据呢? 第一种:利用NSDictionary的AllKeys(AllValues)方 ...
- iOS - 去除数组中重复数据的几种方法
第一种:利用NSDictionary的AllKeys(AllValues)方法 代码: NSArray *dataArray = @[@"2018-02-01",@"20 ...
- JS去除数组中重复值的四种方法
JS去除数组中重复值的四种方法 1 /// <summary> o[this[i]] = ""; } } newArr.p ...
- MySQL中删除数据的两种方法
转自:http://blog.csdn.net/apache6/article/details/2778878 1. 在MySQL中有两种方法可以删除数据: 一种是delete语句,另一种是trunc ...
- PHP去除数组中重复数据的两个例子
例一: <?php$input = array("a" => "green","", "red"," ...
- Js中去除数组中重复元素的6种方法
方法一: Array.prototype.method1 = function(){ var arr=[]; //定义一个临时数组 for(var i = 0; i < this.length; ...
- 关于MySQL中添加数据的两种方法
下面介绍两种执行SQL命令的方法,并作出相应地总结,第一种介绍一种常规用法,下面进行做简要地分析,首先我们需要执行打开数据库操作首先创建一个MySqlConnection对象,在其构造函数中传入一个连 ...
- vue-cli中模拟数据的两种方法
我所使用的是新版vue-cli 首先进行所需插件的安装,vue-resource,json-server,proxyTable. 目录结构如图 在main.js中引入vue-resource模块,Vu ...
- **PHP删除数组中特定元素的两种方法array_splice()和unset()
方法一: 复制代码代码如下: <?php$arr1 = array(1,3, 5,7,8);$key = array_search(3, $arr1); if ($key !== false) ...
随机推荐
- 判断手机andriod还是iphone
手机识别:var isAndroid = navigator.appVersion.toLowerCase().indexOf(‘android’) >= 0,isIphone = naviga ...
- Debian 7 64位安装 wine
一.安装 1. # apt-get install wine 安装完后在终端里运行wine: # wine 会弹出一个对话框: This is the wine64-bin helper packag ...
- LINQ to Entities 不识别方法“System.String ToString()”,因此该方法无法转换为存储表达式。
var data = DataSource.Skip(iDisplayStart).Take(iDisplayLength).Select(o => new { MatNR = o.MatNR, ...
- android开发之路10(文件的读写)
1.安卓中文件的数据存储实例(将文件保存到手机自带存储空间中): ①MainActivity.java public class MainActivity extends Activity imple ...
- MAC下查看端口占用并杀死进程
Eclipse在Run on Server时,Tomcat是开启的,但是报错,显示8080.8005和8009端口被占用 终端输入 查看所有开启的端口 sudo lsof -i -P | grep - ...
- Mac下启动Apache
1.启动 sudo apachectl -k start 2.重新启动 sudo apachectl -k restart //-------------------------------- ...
- 基本Linux命令总结
常用基本Linux命令总结 学习linux/unix之初,你可能会被上百条的各种命令搞的头昏脑涨,虽然可用的命令有很多,但是日常使用的不过那么几条,如果仅仅是DBA角色而非系统管理员,那么就来一起学习 ...
- [改善Java代码]子列表只是原列表的一个视图
List接口提供了subList方法,其作用是返回一个列表的子列表.这与String类的subString有点类似.但是他们的功能是否相同?看代码: import java.util.ArrayLis ...
- poj 3159 差分约束
思路:班长的糖果要比snoopy的多.并且要用手写堆栈,且堆栈的大小要开到20000000. #include<iostream> #include<cstdio> #incl ...
- ORACLE之PACKAGE
刚学pl/sql编程,写了两个package.pkg_temp_fn和pkg_temp_fn2.内容涉及pl/sql基本语法,游标,存储过程(in,out),函数(有返回值). pkg_temp_fn ...