php去掉數組內重複元素的方法:1、使用「array_unique()」函數,去除數組中的重複資料;2、透過foreach循環遍歷,透過定義一個新的數組儲存不重複的數據的方法實作去重;3、使用array_flip()和array_keys()函數,可得到去重後的陣列;4、使用array_filter()函數,透過使用函數結合匿名函數的方式對原始陣列進行去重。
本教學作業系統:Windows10系統、PHP8.1.3版、Dell G3電腦
php移除陣列內重複元素的方法
方法一:使用array_unique()函數
php中的array_unique()函數可用來移除陣列中的重複資料。該函數接受一個數組作為參數並傳回一個新的數組,該數組不包含重複的值。
範例程式碼:
$arr = array(1, 2, 2, 3, 4, 4); $arr_unique = array_unique($arr); print_r($arr_unique);
輸出結果:
Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4)
#方法二:使用foreach循環遍歷
除了使用array_unique()函數外,我們還可以透過循環遍歷的方式實現去重。具體步驟如下:
定義一個新的數組,用於儲存不重複的資料。遍歷原始數組,將每個元素與新數組中的每個元素逐一比較,如果重複則跳過,不重複則將元素添加到新數組中。
範例程式碼:
$arr = array(1, 2, 2, 3, 4, 4); $new_arr = array(); foreach ($arr as $value) { if (!in_array($value, $new_arr)) { $new_arr[] = $value; } } print_r($new_arr);
輸出結果:
Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4)
#方法三:使用array_flip()和array_keys()函數
# php中的array_flip()函數可用來將陣列中的鍵和值互換。將原數組進行鍵值互換後再使用array_keys()函數取得其中的鍵,即可得到去重後的陣列。
範例程式碼:
$arr = array(1, 2, 2, 3, 4, 4); $new_arr = array_keys(array_flip($arr)); print_r($new_arr);
輸出結果:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4)
#方法四:使用array_filter()函數
php中的array_filter ()函數可用來過濾數組中的元素。我們可以透過使用該函數結合匿名函數的方式對原始數組進行去重。
範例程式碼:
$arr = array(1, 2, 2, 3, 4, 4); $new_arr = array_filter($arr, function ($value) { static $data = []; if (in_array($value, $data)) { return false; } else { $data[] = $value; return true; } }); print_r($new_arr);
輸出結果:
Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4)
#總結:
php中移除陣列內重複資料的方法有很多種,上述介紹的方法僅是其中的幾種。我們可以根據不同的需求和資料結構選擇適合的去重方法,提高程式的效率和穩定性。
以上是php如何去掉陣列內重複元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!