PHP复制公共属性

4
我正在寻找一种方法,可以将一个对象的所有公共属性复制到另一个对象中。

1
那你做错了。虽然可以使用反射和__set()方法来实现这个。 - racetrack
1个回答

5

你尝试过使用get_object_vars函数吗?

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

一种更现代的方法是使用反射

$reflect = new ReflectionClass($a);

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接