我們有兩個要合併的 PHP 對象,但它們不是彼此的子類別。我們需要一種有效的方法來避免使用慢循環。
如果物件只包含字段,我們可以使用此方法將它們合併為一個新物件:
$obj_merged = (object) array_merge((array) $obj1, (array) $obj2);
這是透過將物件轉換為數組,使用array_merge() 函數合併數組,然後將合併的數組轉換回一個物件。
$objectA->a; $objectA->b; $objectB->c; $objectB->d; // Merge the objects $objectC = (object) array_merge((array) $objectA, (array) $objectB); // Verify the merged object echo $objectC->a; // Output: Value of a from objectA echo $objectC->b; // Output: Value of b from objectA echo $objectC->c; // Output: Value of c from objectB echo $objectC->d; // Output: Value of d from objectB
如果物件有方法,此方法也適用,儘管尚未經過詳盡測試。
以上是如何有效率地合併兩個不相關的 PHP 物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!