如何根據特定key高效能對PHP多維數組進行去重?

DDD
發布: 2024-11-25 13:13:15
原創
368 人瀏覽過

How to Efficiently Deduplicate a PHP Multi-Dimensional Array Based on a Specific Key?

PHP 多維數組:根據特定值去重

問題:

給定一個給定一個>問題:

給定一個多維數組,如何有效刪除包含特定值的重複值的子數組鍵?

問題陳述:

Array
(
[0] => Array
    (
        [0] => dave
        [1] => jones
        [2] => [email protected]
    )

[1] => Array
    (
        [0] => john
        [1] => jones
        [2] => [email protected]

    )

[2] => Array
    (
        [0] => bruce
        [1] => finkle
        [2] => [email protected]
    )
)
登入後複製

考慮以下多維數組:

任務是刪除其中的任何子數組電子郵件地址(索引2)出現多次。在此範例中,這將導致刪除第一個或第三個子數組。

解決方案:

$newArr = array();
foreach ($array as $val) {
    $newArr[$val[2]] = $val;    
}
$array = array_values($newArr);
登入後複製

一個簡單的解決方案涉及使用數組唯一性來消除重複的電子郵件地址:

解決方案利用了PHP 中數組鍵是唯一的事實。透過使用電子郵件地址作為陣列鍵,可以確保僅最後一次出現的特定電子郵件地址保留在結果陣列中。

透過在最後使用array_values(),我們將陣列索引重設為

    注意:
  1. 解決方案所呈現的內容優先考慮最後一次出現的電子郵件地址。如果您希望優先考慮第一次出現的情況,請在使用 array_reverse() 迭代數組之前反轉數組的順序。
結果陣列中的索引可能會重新排列。如果您不依賴特定索引,這不是主要問題。

以上是如何根據特定key高效能對PHP多維數組進行去重?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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