php 函数 array_unique 是干啥的 数组去重

zblog2年前zblog问题解答38

`array_unique` 是 PHP 中的一个函数,用于从数组中移除重复的值。它返回一个新数组,其中包含原始数组中的唯一值,并保留原始键名。


以下是 `array_unique` 函数的语法:

```php

array_unique(array $array[, int $sort_flags = SORT_STRING]): array

```


参数说明:

- `$array`:要处理的输入数组。

- `$sort_flags`(可选):排序标志,

用于指定如何比较数组元素。

默认值为 `SORT_STRING`,表示按字符串顺序进行比较。


示例用法:

```php
<?php
$inputArray = [1, 2, 3, 4, 4, 5, 6, 6];
$uniqueArray = array_unique($inputArray);
print_r($uniqueArray);
?>
```



输出结果:

```

Array

(

    [0] => 1

    [1] => 2

    [2] => 3

    [3] => 4

    [5] => 5

    [6] => 6

)

```


在上述示例中,`array_unique` 函数将输入数组 `$inputArray` 中的重复值去除,并返回一个新的数组 `$uniqueArray`,其中包含了唯一的值。


=============

$sort_flags第二个参数可选的值有哪些


$sort_flags 参数在 PHP 的 array_unique 函数中用于指定如何比较数组中的元素,以确定哪些元素是重复的。以下是 $sort_flags 可选的值及其描述:

  1. SORT_STRING (默认值):按照字符串进行比较。这是默认的排序类型,当不传递 $sort_flags 或传递值为 SORT_STRING 时使用。

$result = array_unique($array, SORT_STRING);
  1. SORT_REGULAR:按照常规方式进行比较,保持元素类型不变。这种排序方式会将元素视为它们原本的类型(整数、字符串、浮点数、布尔值、对象等)进行比较。

$result = array_unique($array, SORT_REGULAR);
  1. SORT_NUMERIC:按照数字值进行比较。这种方式会将元素视为数字(如果可能)进行比较,即使它们是字符串类型。

$result = array_unique($array, SORT_NUMERIC);
  1. SORT_LOCALE_STRING:根据当前的本地化设置,按照字符串进行比较。这种方式会考虑本地化的字符串排序规则,比如字符的排序顺序可能会因不同的语言或地区而有所不同。

$result = array_unique($array, SORT_LOCALE_STRING);

归纳

  • SORT_STRING:字符串比较(默认)

  • SORT_REGULAR:常规比较,保持类型

  • SORT_NUMERIC:数字值比较

  • SORT_LOCALE_STRING:基于本地化设置的字符串比较

使用 $sort_flags 参数可以根据你的需求调整 array_unique 函数的行为,以更准确地确定哪些数组元素是“重复”的。


相关文章

php 变量保存为字符串 序列化和反序列化

<?php // 定义一个数组变量 $array = array('apple', 'banana', &#...

ucs-4 这是啥编码 mb_convert_encoding($content, 'ucs-4', 'utf-8') 啥意思

UCS-4 是一种Unicode字符编码形式,全称为 Universal Character Set - 4 bytes。它是Unicode标准的一种实现,其中每个字符都使用4个字...

宝塔可以防采集吗?能,但是你大概率用不上!因为:正常用户也会弹出来验证!!!

宝塔可以防采集吗?能,但是你大概率用不上!因为:正常用户也会弹出来验证!!!

参见https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=106744&highlight=%E9%98%B2%E9%87%87%E9%...

Nginx规则 重定向

location ~* /show/.*\.(?:jpg|webp) {   rewrite ^/show/(.*)$ /$1&...

bin2hex 函数 php 将二进制数据转换为十六进制表示的字符串。

在PHP中,bin2hex 函数用于将二进制数据转换为十六进制表示的字符串。这个函数非常有用,尤其是在处理二进制数据并需要将其以人类可读的格式输出或存储时。函数原型如下:php复制代码str...

php 把\u8D8A\u8D70\u8D8A\u5E26\u52B2\ 转为中文 或正常字符

为了将 Unicode 编码转换为正常字符,你可以使用 json_decode 来处理这个字符串,但需要先将它包装成一个有效的 JSON 格式字符串。具体来说,可以将你的字符串放在双引号内,并确保它是...