首頁  >  文章  >  後端開發  >  如何從多維 PHP 數組中刪除重複的子數組?

如何從多維 PHP 數組中刪除重複的子數組?

Barbara Streisand
Barbara Streisand原創
2024-11-25 09:34:10317瀏覽

How Can I Remove Duplicate Sub-arrays from a Multi-Dimensional PHP Array?

從多維 PHP 陣列中刪除重複項

在 PHP 中,使用多維數組通常需要刪除重複元素。這在處理大型資料集時特別有用,其中相同的值可能出現在多個子數組中。

考慮以下範例,其中我們有一個2D 數組,其中子數組包含姓名、電子郵件和其他資訊:

$array = [
    [
        'name' => 'Dave',
        'email' => 'dave@example.com',
    ],
    [
        'name' => 'John',
        'email' => 'john@example.com',
    ],
    [
        'name' => 'Bruce',
        'email' => 'bruce@example.com',
    ],
    [
        'name' => 'John',
        'email' => 'john@example.com',
    ],
];

在此範例中,我們有一個具有相同電子郵件地址('john@example.com') 的重複條目。要刪除重複的子數組,我們可以使用以下程式碼片段利用數組索引的唯一性:

$newArr = [];
foreach ($array as $val) {
    $newArr[$val['email']] = $val; 
}
$array = array_values($newArr);

透過迭代子數組並使用電子郵件地址作為新數組的鍵,我們用最後一個匹配的子數組會覆蓋任何重複的值。然後使用 array_values() 函數重置數組索引,從而得到一個去重數組:

$array = [
    [
        'name' => 'Dave',
        'email' => 'dave@example.com',
    ],
    [
        'name' => 'John',
        'email' => 'john@example.com',
    ],
    [
        'name' => 'Bruce',
        'email' => 'bruce@example.com',
    ],
];

該技術有效地根據指定鍵刪除重複值,留下一個去重多維數組.

以上是如何從多維 PHP 數組中刪除重複的子數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn