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 );
?>
(2)自己写函数实现这个功能,利用两次for循环
<?php
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多维数组去掉重复值示例分享
复制代码 代码如下: <?php$json='{ "rec_items": [ { "classes": "玄幻", "gid": 6326585, "author": "我吃西红柿", "nid": 10079306, "las
-
php删除数组中重复元素的方法
几种php删除数组元素方法在很多情况下我们的数组会出现重复情况,那我们删除数组中一些重复的内容怎么办,这些元素必须保持他唯一,所以就想办法来删除它们,下面利用了遍历查询来删除重复数组元素的几种方法. 方法一.完整删除重复数组实例-----删除数组中的一个元素 function array_remove_value(&$arr, $var){ foreach ($arr as $key => $value) { if (is_array($value)) { array_remove_valu
-
php array_flip() 删除数组重复元素
方法如下: $arr = array(----) ;//假设有一万个元素的数组,里面有重复的元素. $arr = array_flip(array_flip($arr)); //这样便可以删除重复元素. 究竟是怎么回事呢?来看下array_flip()的作用:array_flip()用于将一个数组的每个元素的键和值交换,如: $arr1 = array ("age" => 30, "name" => "快乐园"); $arr2 = a
-
php生成不重复随机数、数组的4种方法分享
下面写几种生成不重复随机数的方法,直接上代码吧 复制代码 代码如下: <?php define('RANDOM_MAX', 100); define('COUNT', 10); echo 'max random num: '.RANDOM_MAX, ' ;result count:'.COUNT, '<br/>'; invoke_entry('rand1'); invoke_entry('rand2'); invoke_entry('rand3'); invoke_entry('rand
-
php数组对百万数据进行排除重复数据的实现代码
假如得到一个uid列表,数量在百万行以上,格式如下: 复制代码 代码如下: 10001000 10001001 10001002 ...... 10001000 ...... 10001111 其实利用php数组的特性,很好进行排重,我们先来看一下php数组的定义:PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性.数组元素
-
PHP去除数组中重复的元素并按键名排序函数
1.此函数的作用:去除数组中重复的元素并按键名排序 function assoc_unique($arr, $key) { $tmp_arr = array(); foreach($arr as $k => $v) { if(in_array($v[$key], $tmp_arr)) { unset($arr[$k]); } else { $tmp_arr[] = $v[$key]; } } sort($arr); return $arr; } 使用例子: $aa = array( array(
-
过滤掉PHP数组中的重复值的实现代码
复制代码 代码如下: <?php $arrF = array(); $arrS = array(); $intTotal = 100; $intRand = 10; for($i=0; $i < $intTotal; $i++) { $arrF[] = rand(1, $intRand); $arrS[] = rand(1, $intRand); } $arrT = array_merge($arrF, $arrS); $arrRF = array(); $intStart = time();
-
PHP删除二维数组中相同元素及数组重复值的方法示例
本文实例讲述了PHP删除二维数组中相同元素及数组重复值的方法.分享给大家供大家参考,具体如下: function assoc_title($arr, $key) { $tmp_arr = array(); foreach ($arr as $k => $v) { if (in_array($v[$key], $tmp_arr)) { unset($arr[$k]); } else { $tmp_arr[] = $v[$key]; } } return $arr; }//assoc_title e
-
php二维数组合并及去重复的方法
本文实例讲述了php二维数组合并及去重复的方法.分享给大家供大家参考.具体实现方法如下: $arr = array_merge($labels,$label); //合并需要合并的俩个数组 $key = id;//去重条件 $tmp_arr = array();//声明数组 foreach($arr as $k => $v) { if(in_array($v[$key], $tmp_arr)) //搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true { unset($arr
-
PHP获取数组中重复最多的元素的实现方法
本文实例讲述了PHP获取数组中重复最多的元素的实现方法.分享给大家供大家参考.具体方法如下: 复制代码 代码如下: <?php /** * * Created on 2014-4-1 * @param array $array * @param int [optional] $length * @return array */ function mostRepeatedValues($array,$length=0){ if(emptyempty
-
两种php去除二维数组的重复项方法
php去掉二维数组的重复值的方法总结,具体代码如下: 方法一: //二维数组去掉重复值 function array_unique_fb($array2D){ foreach ($array2D as $v){ $v=join(',',$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串 $temp[]=$v; } $temp=array_unique($temp); //去掉重复的字符串,也就是重复的一维数组 foreach ($temp as $k => $v){
-
php去除数组中重复数据
废话不多说,直接上代码 复制代码 代码如下: /** * 给数组排重 * 与array_unique函数的区别:它要求val是字符串,而这个可以是数组/对象 * * @param unknown_type $arr 要排重的数组 * @param unknown_type $reserveKey 是否保留原来的Key * @return unknown */
-
PHP两种去掉数组重复值的方法比较
去除一个数组中的重复值,可以使用foreach方法,也可以使用array_unique方法,下面的代码两种方法都使用了. <?php $arrF = array(); $arrS = array(); $intTotal = 100; $intRand = 10; for($i=0; $i < $intTotal; $i++) { $arrF[] = rand(1, $intRand); $arrS[] = rand(1, $intRand); } $arrT = array_merge($a
随机推荐
- SQLServer地址搜索性能优化
- 瑞星反病毒20041231_日报
- 清除svn文件的bat脚本整理
- 详解iOS App中UITableView的创建与内容刷新
- iOS应用中UICollectionViewCell定制Button
- JavaScript判断一个字符串是否包含指定子字符串的方法
- ES6新特性之数组、Math和扩展操作符用法示例
- DiscuzNT 论坛与主站的同步登录与退出
- asp.net中SqlCacheDependency缓存技术概述
- 小结下MySQL中文乱码,phpmyadmin乱码,php乱码 产生原因及其解决方法第1/3页
- PHP实现的简单对称加密与解密方法实例小结
- javascript title闪动效果
- 检查上传图片是否合法的函数,木马改后缀名、图片加恶意代码均逃不过
- sqlserver 修改列名及表名的sql语句
- jQuery中 bind的用法简单介绍
- jquery+css3问卷答题卡翻页动画效果示例
- js自动查找select下拉的菜单并选择(示例代码)
- Java判断两个日期相差天数的方法
- C#实现的几种委托方式介绍
- Android实现下载zip压缩文件并解压的方法(附源码)