很多站长朋友们都不太清楚php数组取重复,今天小编就来给大家整理php数组取重复,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 怎样PHP获取数组中重复最多的元素 2、 php 去掉完全相同的重复数组 3、 php取出多维数组重复的值 4、 PHP获取数组中重复最多的元素的实现方法 怎样PHP获取数组中重复最多的元素展开全部
1234567$array = array(1, 1, 1, 54, 3,4, 3,4, 3, 14, 3,4, 3,7,8,9,12,45,66,5,7,8,9,2,45);$array = array_count_values($array);
// 统计数组中所有值出现的次数arsort($array);
// 按照键值对关联数组进行降序排序$first = reset($array);$first_key = key($array);
echo("数组中数字{$first_key}重复次数最多,为:{$first}次");
php 去掉完全相同的重复数组一、这个没有被合并,只是取的后面这个键名的值,
二、$input=array("11"=>"aaaa","22"=>"bbbb","33"=>"cccc","11"=>"aaada","44"=>"cccc1","55"=>"cccc");
$result
=
array_unique
($input);
print_r($result);
输出的结果:Array
(
[11]
=>
aaada
[22]
=>
bbbb
[33]
=>
cccc
[44]
=>
cccc1
)
键名33
和
55
的值完全一样的时候,后者会被干掉
如果你要的是键名和值完全一致的时候才删除一个的话,似乎不能,因为键名是不允许重复的
听你的情况似乎数据量很大,建议你使用
array_flip()函数
【php中,删除数组中重复元素有一个可用的函数,那就是array_unique(),
但是它并不是一个最高效的方法,使用array_flip()函数将比array_uniqure()在速度上高出五倍左右。】
例子:$input=array("11"=>"aaaa","22"=>"bbbb","33"=>"cccc","11"=>"aaada","44"=>"cccc1","55"=>"cccc");
$arr1
=
array_flip(array_flip($input));
print_r($arr1);
输出的结果:Array
(
[11]
=>
aaada
[22]
=>
bbbb
[55]
=>
cccc
[44]
=>
cccc1
)
php取出多维数组重复的值$arr = array(
array(
array(
"stocknotifyId" => 1,
"sku" => '13809_BL_37',
"email" => 'huang@aaa测试数据'
),
array(
"stocknotifyId" => 3,
"sku" => '13809_BL_37',
"email" => 'hrheve@dfwef测试数据'
),
array(
"stocknotifyId" => 5,
"sku" => '13809_BL_37',
"email" => 'dfsfs@dfsf测试数据'
)
),
array(
array(
"stocknotifyId" => 2,
"sku" => '13809_B_39',
"email" => 'huang@aaa测试数据'
)
),
array(
array(
"stocknotifyId" => 4,
"sku" => '13809_BL_39',
"email" =>'hrheve@dfwef测试数据'
)
)
);
$re = array();
foreach($arr as $a) {
foreach ($a as $v) {
$tmp_v = $v;
unset($tmp_v['email']);
if(isset($re[$v['email']])) {
$re[$v['email']][] = $tmp_v;
}else{
$re[$v['email']] = array($tmp_v);
}
}
}
print_r($re);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!-- output -->
Array
(
[huang@aaa测试数据] => Array
(
[0] => Array
(
[stocknotifyId] => 1
[sku] => 13809_BL_37
)
[1] => Array
(
[stocknotifyId] => 2
[sku] => 13809_B_39
)
)
[hrheve@dfwef测试数据] => Array
(
[0] => Array
(
[stocknotifyId] => 3
[sku] => 13809_BL_37
)
[1] => Array
(
[stocknotifyId] => 4
[sku] => 13809_BL_39
)
)
[dfsfs@dfsf测试数据] => Array
(
[0] => Array
(
[stocknotifyId] => 5
[sku] => 13809_BL_37
)
)
)
PHP获取数组中重复最多的元素的实现方法本文实例讲述了PHP获取数组中重复最多的元素的实现方法。分享给大家供大家参考。具体方法如下:
复制代码
代码如下:<?php
/**
*
*
Created
on
2014-4-1
*
@param
array
$array
*
@param
int
[optional]
$length
*
@return
array
*/
function
mostRepeatedValues($array,$length=0){
if(emptyempty($array)
or
!is_array($array)){
return
false;
}
//1.
计算数组的重复值
$array
=
array_count_values($array);
//2.
根据重复值
倒排序
arsort($array);
if($length>0){
//3.
返回前
$length
重复值
$array
=
array_slice($array,
0,
$length,
true);
}
return
$array;
}
$array
=
array(1,
1,
1,
54,
3,4,
3,4,
3,
14,
3,4,
3,7,8,9,12,45,66,5,7,8,9,2,45);
$counts=mostRepeatedValues($array,5);
print_r($counts);
/*输出结果为:
Array
(
[3]
=>
5
[4]
=>
3
[1]
=>
3
[9]
=>
2
[45]
=>
2
)
*/
?>
希望本文所述对大家的PHP程序设计有所帮助。
关于php数组取重复的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php数组取重复 php找出数组中重复的数字的详细内容...