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 數組進行去重,從而簡化您的代碼并提高性能。






