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