日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:52003
  • 待審:43
  • 小程序:12
  • 文章:1047590
  • 會員:762

php數組去重的三種方法:使用 array_unique() 函數,根據元素值去除重復值,保留鍵值順序。使用 array_filter() 函數,基于回調函數的條件移除重復元素。使用 splobjectstorage 類,利用對象唯一性的特性實現數組去重,保留鍵值關聯。

如何實現 PHP 數組中數據的去重

數組去重是指去除數組中重復的值,獲得一個只包含唯一值的新數組。PHP 提供了幾種方法來實現數組去重:

使用 array_unique() 函數

array_unique() 是一個內置函數,專門用于去除數組中的重復值。它根據每個元素的值進行比較,并返回一個僅包含唯一元素的新數組。語法如下:

array_unique(array $array);

登錄后復制

示例:

$numbers = [1, 2, 3, 4, 5, 1, 2, 3];
$unique_numbers = array_unique($numbers);
print_r($unique_numbers);

登錄后復制

輸出:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

登錄后復制登錄后復制

注意: array_unique() 會保留鍵值順序,但如果需要,可以使用 array_values() 函數將保留的鍵值變為連續的數字。

使用 array_filter() 函數

array_filter() 函數可以根據回調函數的條件將數組中的某些元素移除。它會將滿足回調函數返回 true 的元素保留在數組中,而將其他元素過濾掉。

示例:

$numbers = [1, 2, 3, 4, 5, 1, 2, 3];
$unique_numbers = array_filter($numbers, function($value, $index) {
    return array_search($value, $numbers) === $index;
});
print_r($unique_numbers);

登錄后復制

輸出:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

登錄后復制登錄后復制

注意: 此回調函數檢查每個元素在數組中出現的第一個索引是否與當前索引相同,以確定它是否是一個唯一值。

使用 SplObjectStorage

SplObjectStorage 類是一種更高級的存儲對象集合的容器。可以將它用作散列表,其中對象是鍵,而關聯的值是保留的值。由于散列表不允許重復鍵,因此可以使用 SplObjectStorage 來實現數組去重。

示例:

$numbers = [1, 2, 3, 4, 5, 1, 2, 3];
$unique_numbers = new SplObjectStorage();

foreach ($numbers as $number) {
    $unique_numbers->attach($number);
}

foreach ($unique_numbers as $number) {
    echo $number . "\n";
}

登錄后復制

輸出:

1
2
3
4
5

登錄后復制

注意: 這種方法利用了對象不能重復的特性。SplObjectStorage 中的鍵是不唯一的,因為每個對象都有一個不同的身份。因此,它可以有效地去除數組中的重復值。

分享到:
標簽:PHP 如何實現 數據 組中
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 52003

    網站

  • 12

    小程序

  • 1047590

    文章

  • 762

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定