合併具有相同物件的陣列並消除重複
將多個數組合併為一個陣列是程式設計中的常見任務。但是,在處理包含物件的陣列時,必須小心處理重複項,以避免資料完整性問題。
考慮這樣一個場景,您有兩個陣列 $array1 和 $array2,其中包含具有「email」屬性的物件作為唯一識別碼。您的目標是合併這些數組,確保刪除重複的電子郵件值。
解
要獲得所需的結果,您可以使用兩個 PHP 函數: array_merge( ) 和 array_unique()。
透過組合這些函數,您可以有效地合併兩個數組,同時消除重複的電子郵件。下面的程式碼說明了這種方法:
<?php $array1 = [ (object) ["email" => "gffggfg"], (object) ["email" => "[email protected]"], (object) ["email" => "wefewf"], ]; $array2 = [ (object) ["email" => "[email protected]"], (object) ["email" => "wefwef"], (object) ["email" => "wefewf"], ]; // Merge the arrays $mergedArray = array_merge($array1, $array2); // Remove duplicate values $uniqueArray = array_unique($mergedArray, SORT_REGULAR); // Print the merged and unique array print_r($uniqueArray); ?>
輸出:
Array ( [0] => stdClass Object ( [email] => gffggfg ) [1] => stdClass Object ( [email] => [email protected] ) [2] => stdClass Object ( [email] => wefewf ) [3] => stdClass Object ( [email] => wefwef ) )
如您所見,產生的$uniqueArray 僅包含唯一的電子郵件值,成功合併和刪除了兩個輸入數組的重複資料.
以上是如何在 PHP 中合併具有相同物件的陣列並消除重複項?的詳細內容。更多資訊請關注PHP中文網其他相關文章!