方法一:先將對象轉換為數據數組,然后使用array_merge()函數進行合并,最后將合并后的數據轉換為stdClass對象。
說明:在使用array_merge()合并對象時,argument1中的數組元素將被argument2中的數組元素覆蓋。如果argument2中的數組具有空值,則這可能使最終對象中的結果元素無效。
示例:
?php html' target='_blank'>class demo { // 空類$objectA = new demo(); $objectA- a = 1; $objectA- b = 2; $objectA- d = 3; $objectB = new demo(); $objectB- d = 4; $objectB- e = 5; $objectB- f = 6; $obj_merged = (object) array_merge( (array) $objectA, (array) $objectB); var_dump($obj_merged); ?
輸出:
方法二:創建原始類的新對象,并使用foreach循環將這兩個對象的所有屬性分配給此新對象。
說明:這是一種簡單而干凈的合并兩個對象的方法。
示例:
?php class demo { // 空類$objectA = new demo(); $objectA- A = 1; $objectA- B = 2; $objectA- C = 3; $objectA- D = 4; $objectA- E = 5; $objectB = new demo(); $objectB- D = 6; $objectB- E = 7; $objectB- F = 8; // 用于轉換給定對象類的函數function convertObjectClass($objectA, $objectB, $final_class) { $new_object = new $final_class(); // 初始化類屬性 foreach($objectA as $property = $value) { $new_object- $property = $value; foreach($objectB as $property = $value) { $new_object- $property = $value; return $new_object; $obj_merged = convertObjectClass($objectA,$objectB, demo var_dump($obj_merged); ?
輸出:
以上就是本篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以關注php 相關教程欄目?。?!
以上就是PHP如何合并兩個對象?(代碼示例)的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答