php怎么删除数组中重复的元素值

php删除数组中重复值的方法:1、使用array_unique()函数,语法“array_unique(array)”。2、先用array_flip()函数反转数组的键和值,去掉重复值;然后再用array_flip()将数组反转回来。

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

php删除数组中重复的元素值

方法1:直接使用array_unique()函数

<?php
$arr1 = array("a" => "green", "b" => "red", "c" => "green", "d" => "blue","e" =>  "red");
var_dump($arr1);
$arr2 = array_unique($arr1);
var_dump($arr2);
?>

输出:

array (size=5)
  'a' => string 'green' (length=5)
  'b' => string 'red' (length=3)
  'c' => string 'green' (length=5)
  'd' => string 'blue' (length=4)
  'e' => string 'red' (length=3)
  
array (size=3)
  'a' => string 'green' (length=5)
  'b' => string 'red' (length=3)
  'd' => string 'blue' (length=4)

说明:

array_unique() 函数用于移除数组中重复的值。如果两个或更多个数组值相同,只保留第一个值,其他的值被移除。

注释:被保留的数组将保持第一个数组项的键名类型。

语法

array_unique(array)

1.png

方法2:使用两次array_flip()函数

<?php
header("content-type:text/html;charset=utf-8");
$arr = array("a" => "green", "b" => "red", "c" => "green", "d" => "blue","e" =>  "red");
// 输出原始数组
echo "原始数组 :";
var_dump($arr);
// 通过使用翻转键和值移除重复值
$arr = array_flip($arr);
// 通过再次翻转键和值来恢复数组元素
$arr = array_flip($arr);
// 重新排序数组键
$arr = array_values($arr);
// 输出更新后的数组
echo "更新数组 :";
var_dump($arr);
?>

输出:

原始数组 :
array (size=5)
  'a' => string 'green' (length=5)
  'b' => string 'red' (length=3)
  'c' => string 'green' (length=5)
  'd' => string 'blue' (length=4)
  'e' => string 'red' (length=3)
  
更新数组 :
array (size=3)
  0 => string 'green' (length=5)
  1 => string 'red' (length=3)
  2 => string 'blue' (length=4)

说明:

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

语法

array_flip(array);

2.png

推荐学习:《PHP视频教程》

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » php怎么删除数组中重复的元素值