数组函数

PHP array_unique() 函数

主题:PHP 数组参考上一页|下一页

说明

array_unique() 函数从数组中删除重复值。

如果发现多个值相等,则保留第一个值及其键,并删除其他值。

下表总结了该函数的技术细节。

返回值: 返回一个没有重复值的新数组。
变更日志:

从 PHP 7.2.0 开始,如果 sort_flagsSORT_STRING,此函数通过添加导致不同数字索引的唯一元素来构建一个新数组。

在 PHP 5.2.10 中 sort_flags 的默认值改回 SORT_STRING

在 PHP 5.2.9 中,sort_flags 的默认值从 SORT_STRING 更改为 SORT_REGULAR
版本: PHP 4.0.1+

语法

array_unique() 函数的基本语法如下:

array_unique(array, sort_flags);

下面的例子展示了 array_unique() 函数的作用。

<?php
// 样本数组
$numbers = array(1, 2, 4, 5, 2, 5, 7, 2, 10);

// 删除数字数组中的重复值
$result = array_unique($numbers);
print_r($result);
?>

参数

array_unique() 函数接受以下参数。

参数 说明
array 必填。 指定要处理的数组。
sort_flags

可选。 指定应如何比较数组项。 可能的值是:

  • SORT_STRING – 将项目作为字符串进行比较。 默认值。
  • SORT_NUMERIC – 用数字比较项目。
  • SORT_REGULAR – 正常比较项目(不要更改类型)。
  • SORT_LOCALE_STRING – 根据当前语言环境将项目作为字符串进行比较。

更多示例

这里有更多示例展示了 array_unique() 函数的实际工作原理:

以下示例演示如何从关联数组中获取唯一值:

<?php
// 样本数组
$input = array("foo"=>"hello", "bar"=>"world", "baz"=>"hello");

// 从输入数组中删除重复值
$result = array_unique($input);
print_r($result);
?>

以下示例显示了此函数如何处理具有混合类型重复值的数组。

<?php
// 样本数组
$input = array(2, 4, "4", 5, "3", 4, 3, "3");

// 从输入数组中删除重复值
$result = array_unique($input);
print_r($result);
?>
Advertisements