0
我需要合併2個相同類型的自定義對象。下面是類的樣子:合併2個自定義對象
<?php
class a{
public $one;
public $two;
public function doSomething(){
//do stuff
}
}
我已經得到了a
,我需要合併到一起2實例。我明白,我可以使用array_merge這樣的:
$result = (object)array_merge((array)$a1, (array)$a2);
但問題是,我需要的結果是a
類的,而不是stdObj
。
如果我做的:
$result->doSomething()
一個錯誤的結果:PHP Fatal error: Call to undefined method stdClass::doSomething()
既然我們不能強制類型轉換到非原語,缺一不可:$result = (a)array_merge((array)$a1, (array)$a2);
除了使用循環遍歷一個對象和get和set值,是否有更好的方法來執行此操作?
請參閱http://stackoverflow.com/questions/455700/what-is-the-best-method-to-merge-two-php-objects – galchen