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