2012-06-05 57 views
3

我有2個對象。PHP - 連接2個對象

下面是我用PHP的print_r方法打印出來的對象的輸出。

Oject#1;

stdClass Object ([id] => 1 [portal_id] => 1 [name=> NEVZAT) 

Object#2;

stdClass Object ([surname] => YILMAZ) 

我想在這樣的過程我需要包含所有2個對象的變量的Object的端部以連接這2個對象彼此;

stdClass Object ([id] => 1 [portal_id] => 1 [name=> NEVZAT [surname] => YILMAZ) 
+1

第一次使用谷歌。然後stackoverflow。 – jimpic

+0

這個問題已經在這裏問了; http://stackoverflow.com/questions/455700/what-is-the-best-method-to-merge-two-php-objects – Baran

回答

11

一個簡單的方法是將物體暫時轉換爲陣列,合併那些陣列,然後將所得的陣列區分回stdClass對象。

$merged = (object) array_merge((array) $object_a, (array) $object_b); 
+0

看起來不錯,謝謝,但我想知道這是否是唯一的方法。因爲它可能會導致一些性能問題,所以有很多類型的鑄件。 – WhoSayIn

+1

當然,這不是唯一的**方式。回覆。性能問題,我唯一的建議就是在性能成爲問題時擔心性能問題。 – salathe

3

過像這樣的屬性只需複製:

// assume $o1 and $o2 are your objects 
// we copy $o1 attributes to $o2 
foreach ($o1 as $attr => $value) { 
     $o2->{$attr} = $value; 
}