我们有两个要合并的 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中文网其他相关文章!