在实际开发中,我们经常需要从一个数组中清除重复的数据。在php中,清除重复数据是一件很容易的事情,因为php提供了很多内置的函数来完成这个任务。
下面是一些PHP内置的函数,可以用来清除数组中的重复数据:
- array_unique()函数
array_unique()可以用来对数组进行去重操作。它会返回一个新的数组,包含原始数组中的所有不同的值。
使用方法:
$array = array("a","b","c","d","a","b","e");
$new_array = array_unique($array);
print_r($new_array);输出:
采用 php+mysql 数据库方式运行的强大网上商店系统,执行效率高速度快,支持多语言,模板和代码分离,轻松创建属于自己的个性化用户界面 v3.5更新: 1).进一步静态化了活动商品. 2).提供了一些重要UFT-8转换文件 3).修复了除了网银在线支付其它支付显示错误的问题. 4).修改了LOGO广告管理,增加LOGO链接后主页LOGO路径错误的问题 5).修改了公告无法发布的问题,可能是打压
立即学习“PHP免费学习笔记(深入)”;
Array(
[0] => a
[1] => b
[2] => c
[3] => d
[6] => e
)- array_diff()函数
array_diff()函数可以用来比较两个数组,并返回一个包含不同元素的新数组。
使用方法:
$array1 = array("a","b","c","d","a","b","e");
$array2 = array("c", "d", "e", "f");
$new_array = array_diff($array1, $array2);
print_r($new_array);输出:
立即学习“PHP免费学习笔记(深入)”;
Array(
[0] => a
[1] => b
)- array_merge()函数
array_merge()函数可以用来将多个数组合并成一个数组。如果合并后有重复的数据,会保留最后一个出现的值。
使用方法:
$array1 = array("a","b","c","d","a","b","e");
$array2 = array("c", "d", "e", "f");
$new_array = array_merge($array1, $array2);
print_r($new_array);输出:
立即学习“PHP免费学习笔记(深入)”;
Array(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => a
[5] => b
[6] => e
[7] => c
[8] => d
[9] => e
[10] => f
)- array_intersect()函数
array_intersect()函数可以用来比较两个数组,并返回一个包含两个数组都存在的元素的新数组。
使用方法:
$array1 = array("a","b","c","d","a","b","e");
$array2 = array("c", "d", "e", "f");
$new_array = array_intersect($array1, $array2);
print_r($new_array);输出:
立即学习“PHP免费学习笔记(深入)”;
Array(
[2] => c
[3] => d
[6] => e
)如果想要清除数组中所有的重复数据,可以将以上函数组合使用。具体方法如下:
$array1 = array("a","b","c","d","a","b","e");
$array2 = array("c", "d", "e", "f");
$new_array = array_merge(array_diff($array1, array_intersect($array1, $array2)), array_diff($array2, array_intersect($array1, $array2)));
print_r($new_array);输出:
立即学习“PHP免费学习笔记(深入)”;
Array(
[0] => a
[1] => b
[4] => f
)以上方法可以清除数组中所有的重复数据,并保留所有不同的元素。如果需要保留重复数据中的第一个或者最后一个,可以使用以下方法:
保留重复数据中的第一个:
$new_array = array_unique($array1);
保留重复数据中的最后一个:
$new_array = array_intersect($array1, array_unique(array_reverse($array1)));










