首頁 > 後端開發 > PHP問題 > php如何去掉陣列內重複元素

php如何去掉陣列內重複元素

小老鼠
發布: 2023-05-25 17:19:06
原創
1558 人瀏覽過

php去掉數組內重複元素的方法:1、使用「array_unique()」函數,去除數組中的重複資料;2、透過foreach循環遍歷,透過定義一個新的數組儲存不重複的數據的方法實作去重;3、使用array_flip()和array_keys()函數,可得到去重後的陣列;4、使用array_filter()函數,透過使用函數結合匿名函數的方式對原始陣列進行去重。

php如何去掉陣列內重複元素

本教學作業系統: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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板