在PHP的开发中,常常需要对数据进行处理,如去重、排序、筛选等等。其中,处理二维数组是非常常见的操作。那么,如何快速去除二维数组中的重复数据呢?下面将为你介绍几种实现方法。
方法一:使用array_unique()函数
array_unique()函数可以快速去除数组中的重复数据,具体实现方法如下:
1
2
3
4
5
6
7
8
9
10
11
$array = array(
array(id => 1, name => 小明),
array(id => 2, name => 小红),
array(id => 3, name => 小明)
);
$newArray = array_map(“serialize”, $array);
$newArray = array_unique($newArray);
$newArray = array_map(“unserialize”, $newArray);
print_r($newArray);
输出结果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Array
(
[0] => Array
(
[id] => 1
[name] => 小明
)
[1] => Array
(
[id] => 2
[name] => 小红
)
)
方法二:使用循环遍历
循环遍历数组,将每一个子数组与之前的子数组进行对比,如果相同则删除。具体代码实现如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$array = array(
array(id => 1, name => 小明),
array(id => 2, name => 小红),
array(id => 3, name => 小明)
);
for($i = 0; $i < count($array) – 1; $i++){
for($j = $i + 1; $j < count($array); $j++){
if($array[$i] == $array[$j]){
unset($array[$j]);
}
}
}
print_r($array);
输出结果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Array
(
[0] => Array
(
[id] => 1
[name] => 小明
)
[1] => Array
(
[id] => 2
[name] => 小红
)
)
方法三:使用array_walk()函数
array_walk()函数可以让我们自定义处理数组的函数。具体实现方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$array = array(
array(id => 1, name => 小明),
array(id => 2, name => 小红),
array(id => 3, name => 小明)
);
$tempArr = array();
array_walk($array, function($value, $key) use (&$tempArr) {
if(!in_array($value, $tempArr)){
array_push($tempArr, $value);
}
});
print_r($tempArr);
输出结果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Array
(
[0] => Array
(
[id] => 1
[name] => 小明
)
[1] => Array
(
[id] => 2
[name] => 小红
)
)
以上就是三种快速去除二维数组中重复数据的方法。具体使用哪种方法,要根据实际情况来定。如果只是简单的去重,可以使用array_unique()函数;如果数据量比较小,可以使用循环遍历;如果数据量较大,可以使用array_walk()函数。
以上就是php如何快速去除二维数组的详细内容,更多请关注php中文网其它相关文章!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有佣金分成!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.77ym.top",如遇到无法解压的请联系管理员!
7. 本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
暂无评论内容