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

zblog2年前zblog问题解答49

`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 函数的行为,以更准确地确定哪些数组元素是“重复”的。


相关文章

linux时间错误 centos时间错误

timedatectl set-timezone Asia/Shanghai echo "Asia/Shanghai" | ...

【zblog构建安全链接】BuildSafeURL 监测 CheckIsRefererValid();

BuildSafeURL($zbp->host.'zb_users/plugin/chajianming/my.php') 输出  http://w...

set_time_limit(0); // PHP取消脚本最大执行时间限制

set_time_limit(0); // 取消脚本最大执行时间限制...

zblog链式sql不支持 ESCAPE  ,但是sqlite 必须要用ESCAPE ,硬改sql不优雅了

zblog链式sql不支持 ESCAPE ,但是sqlite 必须要用ESCAPE ,硬改sql不优雅了

/zb_system/function/lib/zblogphp.php通过用户名获取用户实例(不区分大小写). public function GetMemberByN...