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中文網其他相關文章!