首页 >后端开发 >PHP问题 >php怎么删除数组中重复的元素值

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

青灯夜游
青灯夜游原创
2021-03-17 17:20:112717浏览

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

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

本教程操作环境:windows7系统、PHP8版,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)
  &#39;a&#39; => string &#39;green&#39; (length=5)
  &#39;b&#39; => string &#39;red&#39; (length=3)
  &#39;c&#39; => string &#39;green&#39; (length=5)
  &#39;d&#39; => string &#39;blue&#39; (length=4)
  &#39;e&#39; => string &#39;red&#39; (length=3)
  
array (size=3)
  &#39;a&#39; => string &#39;green&#39; (length=5)
  &#39;b&#39; => string &#39;red&#39; (length=3)
  &#39;d&#39; => string &#39;blue&#39; (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)
  &#39;a&#39; => string &#39;green&#39; (length=5)
  &#39;b&#39; => string &#39;red&#39; (length=3)
  &#39;c&#39; => string &#39;green&#39; (length=5)
  &#39;d&#39; => string &#39;blue&#39; (length=4)
  &#39;e&#39; => string &#39;red&#39; (length=3)
  
更新数组 :
array (size=3)
  0 => string &#39;green&#39; (length=5)
  1 => string &#39;red&#39; (length=3)
  2 => string &#39;blue&#39; (length=4)

说明:

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

语法

array_flip(array);

2.png

推荐学习:《PHP视频教程

以上是php怎么删除数组中重复的元素值的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn