Rup*_*ott 5 php oop merge object
可能重复:
合并两个PHP对象的最佳方法是什么?
我有一个对象$ foo,它已经定义了一些方法和属性,另一个对象是$ bar,它只是一组属性.我想将$ bar的全部内容合并到$ foo中,这样$ bar的所有属性都成为$ foo的属性.
所以,如果事先我有,$ bar-> foobar,之后我应该可以使用$ foo-> foobar.
目前,我正在做以下事情:
foreach($bar as $key => $value) {
$foo->$key = $value;
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用数组,我只会执行以下操作之一:
$foo += $bar;
$foo = array_merge($foo, $bar);
Run Code Online (Sandbox Code Playgroud)
是否有类似的方式与对象这样做或我已经正确的方式吗?
请注意,我不知道$ bar自身成为$ foo的财产,即不是$ foo-> bar-> foobar
zet*_*ova 17
试试这个代码
echo $obj->name; //show: carlos
echo $obj2->lastname; //show: montalvo here
$obj_merged = (object) array_merge((array) $obj, (array) $obj2);
$obj_merged->name; //show: carlos
$obj_merged->lastname; //show: montalvo here
Run Code Online (Sandbox Code Playgroud)