Php复制公共属性

时间:2010-10-02 06:40:30

标签: php

我正在寻找一种方法将所有公共属性从一个对象复制到另一个对象。

1 个答案:

答案 0 :(得分:5)

您是否尝试过get_object_vars - 功能?

foreach(get_object_vars($a) as $prop => $value)
{
   $b->$prop = $value;
}

更现代的方法是使用Reflection

$reflect = new ReflectionClass($a);

foreach($reflect->getProperties(ReflectionProperty::IS_PUBLIC) as $prop)
{
   $name = $prop->getName();
   $b->$name = $prop->getValue();
}