话不多说,直接附上代码:
class Ademo { public $abc; public $def; public $qwe; } class Bdemo { public $abc; public $def; public $qwe; } $a = new Ademo(); $a->abc = '123'; $a->def = '456'; $a->qwe = 789; $b = new Bdemo(); //如果将$a对象的属性赋值给$b的属性? $class = new ReflectionClass($b); //利用好反射机制 foreach ($class->getProperties(ReflectionProperty::IS_PUBLIC) as $property) { foreach ($a as $key => $item) { //$a要是键值对数组也是可以的 if ($key == $property->getName()) { $property->setValue($b,$item); break; } } } var_dump($b);