php如何去掉数组重复的值?

  • 来源:网络
  • 更新日期:2020-07-14

摘要:php去掉数组重复值的方法:1、用第一个数组的每个值和第二个数组比较,如果相同就删除;2、使用【array_unique()】函数可以移除数组中的重复的值,并返回结果数组;3、使用【array_fl

php去掉数组重复值的方法:1、用第一个数组的每个值和第二个数组比较,如果相同就删除;2、使用【array_unique()】函数可以移除数组中的重复的值,并返回结果数组;3、使用【array_flip()】反转数组键和值的函数。

php去掉数组重复值的方法:

第一、用数组循环比较

$arr = array(1,2,4,2,0,9,8,5);//定义一个数组。
$arr1 = $arr; //定义另一个数组和上一个数组一样。
//循环第一个数组让后循环第二个数组,用第一个数组的每个值和第二个数组比较,如果相同就删除,最后输出第二个数组就行了。
for($i = 0;$i<count($arr);$i++){
for($j=$i+1;$j<count($arr);$j++){
if($arr[$i] == $arr[$j])
unset($arr1[$i]);
}
}
echo'<pre>';
print_r($arr1);

第二、如果允许使用array_uniqe()函数的话,直接array_uniqe(直接写数组名就ok)。

在PHP中可以使用内置函数array_unique()来直接删除重复元素,也可以使用array_flip()函数来间接删除重复元素。

1.array_unique()函数

array_unique()函数可以移除数组中的重复的值,并返回结果数组;当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。

代码示例:

<?php$result1 = array("a" => "green", "red", "b" => "green", "blue",
"red");var_dump($result1);$result2 = array_unique($result1);var_dump($result2);?>

2.array_flip()函数

array_flip()是反转数组键和值的函数,它有个特性就是如果数组中有二个值是一样的,那么反转后会保留最后一个键和值,利用这个特性我们用他来间接的实现数组的去重。

代码示例:

<?phpheader("content-type:text/html;
charset=utf-8");$a = array(1, 5, 2, 5, 1, 3, 2, 4, 5);// 输出原始数组echo "原始数组
:";var_dump($a);// 。
通过使用翻转键和值移除重复值$a = array_flip($a);
// 通过再次翻转键和值来恢复数组元素$a = array_flip($a);// 重新排序数组键$a = array_values($a);// 输出更新后的数组echo "更新数组 :";var_dump($a);?>

相关学习推荐:PHP编程从入门到精通