我正在寻找一种方法将所有公共属性从一个对象复制到另一个对象。
答案 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();
}