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

zblog2年前zblog问题解答58

`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中,DIRECTORY_SEPARATOR 是一个预定义的常量,用于表示当前操作系统的目录分隔符。例如,在Windows系统中,它是反斜杠 \;而在Unix/Linux系统中,它是正斜杠 /。

在PHP中,DIRECTORY_SEPARATOR 是一个预定义的常量,用于表示当前操作系统的目录分隔符。例如,在Windows系统中,它是反斜杠 \;而在Unix/Linux系统...

php读取文件夹 phptxt 扫描txt文件效率 对比

# 获取一个 txt 文件中的txt文件数量(一层) function guiyi_txt_pro_txt_num2($path_txt) { &nb...

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

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

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

查询文章最大ID(无默认0)

# 查询正式文章最小ID (无文章默认为0) $max_id = $zbp->db->Query(    &nbs...

aardio:fsys文件操作 获取当前目录 文件操作

aardio:fsys文件操作 获取当前目录 文件操作

aardio:fsys文件操作参考标准库/fsys文件操作/默认库1、获取项目根目录的位置getCurDir() = 获取当前目录。当前目录易被改动,导致相对路径(例如 "...