在 PHP 中从数组中删除重复的值

Minahil Noor 2020年12月31日
在 PHP 中从数组中删除重复的值

本文将介绍在 PHP 中从一个数组中删除重复值的方法。

在 PHP 中使用 array_unique() 函数从一个数组中删除重复的值

我们可以使用 array_unique() 函数从一个数组中删除重复的值。array_unique() 函数是一个专门用于从数组中删除重复值的函数。使用这个函数的正确语法如下。

array_unique($array, $flags);

array_unique() 函数有两个参数。它的详细参数如下。

变量 说明
$array 这是我们要删除重复值的数组。
$flags 它指定了数组的排序模式。排序标志有五种类型。
SORT_REGULAR 正常常比较元素
SORT_NUMERIC 以数字方式比较元素
SORT_STRING 以字符串方式比较元素
SORT_LOCALE_STRING 基于当前的语言环境,以字符串方式比较元素。

该函数返回没有重复值的数组。下面的程序显示了我们在 PHP 中使用 array_unique() 函数从一个数组中删除重复值的方法。

<?php
$array = array("Rose","Lili","Jasmine","Hibiscus","Daffodil","Daisy","Daffodil","Daisy","Lili","Jasmine","Jasmine");
echo("Array before removal: \n");
var_dump($array);
$array = array_unique($array);
echo("Array after removal: \n");
var_dump($array);
?>

输出:

Array before removal: 
array(11) {
  [0]=>
  string(4) "Rose"
  [1]=>
  string(4) "Lili"
  [2]=>
  string(7) "Jasmine"
  [3]=>
  string(8) "Hibiscus"
  [4]=>
  string(8) "Daffodil"
  [5]=>
  string(5) "Daisy"
  [6]=>
  string(8) "Daffodil"
  [7]=>
  string(5) "Daisy"
  [8]=>
  string(4) "Lili"
  [9]=>
  string(7) "Jasmine"
  [10]=>
  string(7) "Jasmine"
}
Array after removal: 
array(6) {
  [0]=>
  string(4) "Rose"
  [1]=>
  string(4) "Lili"
  [2]=>
  string(7) "Jasmine"
  [3]=>
  string(8) "Hibiscus"
  [4]=>
  string(8) "Daffodil"
  [5]=>
  string(5) "Daisy"
}

函数返回了过滤后的数组。

现在,如果我们传递 $flags 参数,输出将被会改变。

<?php
$array = array("Rose","Lili","Jasmine","Hibiscus","Daffodil","Daisy","Daffodil","Daisy","Lili","Jasmine","Jasmine");
echo("Array before removal: \n");
var_dump($array);
$array = array_unique($array, SORT_NUMERIC);
echo("Array after removal: \n");
var_dump($array);
?>

输出:

Array before removal: 
array(11) {
  [0]=>
  string(4) "Rose"
  [1]=>
  string(4) "Lili"
  [2]=>
  string(7) "Jasmine"
  [3]=>
  string(8) "Hibiscus"
  [4]=>
  string(8) "Daffodil"
  [5]=>
  string(5) "Daisy"
  [6]=>
  string(8) "Daffodil"
  [7]=>
  string(5) "Daisy"
  [8]=>
  string(4) "Lili"
  [9]=>
  string(7) "Jasmine"
  [10]=>
  string(7) "Jasmine"
}
Array after removal: 
array(1) {
  [0]=>
  string(4) "Rose"
}

现在函数已经对数组进行了数字排序。

相关文章 - PHP Array