php 函数 array_unique 是干啥的 数组去重
`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 可选的值及其描述:
SORT_STRING (默认值):按照字符串进行比较。这是默认的排序类型,当不传递
$sort_flags或传递值为SORT_STRING时使用。
$result = array_unique($array, SORT_STRING);
SORT_REGULAR:按照常规方式进行比较,保持元素类型不变。这种排序方式会将元素视为它们原本的类型(整数、字符串、浮点数、布尔值、对象等)进行比较。
$result = array_unique($array, SORT_REGULAR);
SORT_NUMERIC:按照数字值进行比较。这种方式会将元素视为数字(如果可能)进行比较,即使它们是字符串类型。
$result = array_unique($array, SORT_NUMERIC);
SORT_LOCALE_STRING:根据当前的本地化设置,按照字符串进行比较。这种方式会考虑本地化的字符串排序规则,比如字符的排序顺序可能会因不同的语言或地区而有所不同。
$result = array_unique($array, SORT_LOCALE_STRING);
归纳:
SORT_STRING:字符串比较(默认)SORT_REGULAR:常规比较,保持类型SORT_NUMERIC:数字值比较SORT_LOCALE_STRING:基于本地化设置的字符串比较
使用 $sort_flags 参数可以根据你的需求调整 array_unique 函数的行为,以更准确地确定哪些数组元素是“重复”的。
