溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP怎樣合并兩個對象

發(fā)布時間:2020-05-06 15:48:04 來源:億速云 閱讀:817 作者:Leah 欄目:編程語言

這篇文章主要為大家詳細介紹了PHP怎樣合并兩個對象,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

方法一:先將對象轉換為數(shù)據(jù)數(shù)組,然后使用array_merge()函數(shù)進行合并,最后將合并后的數(shù)據(jù)轉換為stdClass對象。

說明:在使用array_merge()合并對象時,argument1中的數(shù)組元素將被argument2中的數(shù)組元素覆蓋。如果argument2中的數(shù)組具有空值,則這可能使最終對象中的結果元素無效。

示例:

<?php 
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); 
  
?>

輸出:

PHP怎樣合并兩個對象

方法二:創(chuàng)建原始類的新對象,并使用foreach循環(huán)將這兩個對象的所有屬性分配給此新對象。

說明:這是一種簡單而干凈的合并兩個對象的方法。

示例:

<?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; 
  
// 用于轉換給定對象類的函數(shù)
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怎樣合并兩個對象的簡略介紹,當然詳細使用上面的不同還得要大家自己使用過才領會。如果想了解更多,歡迎關注億速云行業(yè)資訊頻道哦!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI