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去除数组中重复数据
废话不多说,直接上代码 复制代码 代码如下: /** * 给数组排重 * 与array_unique函数的区别:它要求val是字符串,而这个可以是数组/对象 * * @param unknown_type $arr 要排重的数组 * @param unknown_type $reserveKey 是否保留原来的Key * @return unknown */
-
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 array_flip() 删除数组重复元素
方法如下: $arr = array(----) ;//假设有一万个元素的数组,里面有重复的元素. $arr = array_flip(array_flip($arr)); //这样便可以删除重复元素. 究竟是怎么回事呢?来看下array_flip()的作用:array_flip()用于将一个数组的每个元素的键和值交换,如: $arr1 = array ("age" => 30, "name" => "快乐园"); $arr2 = a
-
过滤掉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生成不重复随机数、数组的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删除数组中重复元素的方法
几种php删除数组元素方法在很多情况下我们的数组会出现重复情况,那我们删除数组中一些重复的内容怎么办,这些元素必须保持他唯一,所以就想办法来删除它们,下面利用了遍历查询来删除重复数组元素的几种方法. 方法一.完整删除重复数组实例-----删除数组中的一个元素 function array_remove_value(&$arr, $var){ foreach ($arr as $key => $value) { if (is_array($value)) { array_remove_valu
-
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
-
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数组对百万数据进行排除重复数据的实现代码
假如得到一个uid列表,数量在百万行以上,格式如下: 复制代码 代码如下: 10001000 10001001 10001002 ...... 10001000 ...... 10001111 其实利用php数组的特性,很好进行排重,我们先来看一下php数组的定义:PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性.数组元素
-
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去掉二维数组的重复值的方法总结,具体代码如下: 方法一: //二维数组去掉重复值 function array_unique_fb($array2D){ foreach ($array2D as $v){ $v=join(',',$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串 $temp[]=$v; } $temp=array_unique($temp); //去掉重复的字符串,也就是重复的一维数组 foreach ($temp as $k => $v){
随机推荐
- python利用elaphe制作二维条形码实现代码
- 解决Ubuntu 16.04下提示boot分区空间不足的办法
- java 同步、异步、阻塞和非阻塞分析
- js实现异步循环实现代码
- php UTF8 文件的签名问题
- php指定函数参数默认值示例代码
- 用C#编写ActiveX控件(二)
- 异步/多线程/任务/并行编程之一:如何选择合适的多线程模型?
- php中如何同时使用session和cookie来保存用户登录信息
- JavaScript中遍历对象的property的3种方法介绍
- Node.js检测端口(port)是否被占用的简单示例
- Javascript实时柱状图实现代码
- 基于jquery实现二级联动效果
- dos进程查看与停止命令分享(tasklist,taskkill)
- 详解Linux如何查看当前占用CPU或内存最多的几个进程
- python 多线程应用介绍
- SQL Server 2000“设备激活错误”的解决方法
- JQuery UI DatePicker中z-index默认为1的解决办法
- jQuery+canvas实现的球体平抛及颜色动态变换效果
- js实现div层缓慢收缩与展开的方法