PHP 提供了多种内置函数进行数组去重,包括:array_unique():保留唯一元素并返回新数组。array_intersect_key():交叉比对键,仅保留第一个数组中存在的键对应的值。array_unique() + array_values():先去重,再重新索引,仅保留唯一元素。
PHP 数组去重内置函数指南
在 php 中,对数组进行去重是一个常见任务。PHP 提供了多种内置函数,可帮助您轻松有效地完成这项任务。
1. array_unique() 函数
array_unique() 函数通过保留数组中的唯一元素来对数组进行去重。它返回包含去重后元素的新数组。
<?php
$array = ['foo', 'bar', 'baz', 'foo', 'bar'];
$uniqueArray = array_unique($array);
输出:
Array
(
[0] => foo
[1] => bar
[2] => baz
)
2. array_intersect_key() 函数
array_intersect_key() 函数将多个数组的键交叉对比,仅保留第一个数组中存在的键对应的值。这可以有效地对数组进行去重。
<?php
$array1 = ['foo' => 1, 'bar' => 2, 'baz' => 3];
$array2 = ['foo' => 4, 'baz' => 5];
$uniqueArray = array_intersect_key($array1, $array2);
输出:
Array
(
[foo] => 1
[baz] => 3
)
3. array_unique() + array_values() 函数
array_unique() 函数和 array_values() 函数也可以结合使用来对数组进行去重。array_unique() 函数首先删除重复的元素,然后 array_values() 函数重新对数组进行索引,仅保留唯一元素。
<?php
$array = ['foo', 'bar', 'baz', 'foo', 'bar'];
$uniqueArray = array_values(array_unique($array));
输出:
Array
(
[0] => foo
[1] => bar
[2] => baz
)
实战案例
以下是一个实用案例,演示如何在 WEB 应用中使用 array_unique() 函数对用户输入进行去重:
<?php
// 获取用户输入
$userInput = $_POST['user_input'];
// 将用户输入转换为数组
$array = explode(",", $userInput);
// 对数组进行去重
$uniqueArray = array_unique($array);
// 保存去重后的数组
// ...
使用这些内置函数,您可以轻松有效地对 PHP 数组进行去重,从而简化您的代码并提高性能。
以上就是PHP 数组去重时有哪些内置函数可用?的详细内容.