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)

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

方法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);

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。