在jQuery插件中,我们可以传递一个带有属性的匿名对象。
$('selecter').function({property: 'value', property: 'value'})
插件中的代码jquery有一个名为extend的函数。这样做是将2个对象作为参数,然后用对象2中的属性覆盖对象1的属性。
有没有办法在不使用数组的情况下在php中执行此类操作或类似操作?
答案 0 :(得分:1)
如果你的对象只是stdClass
的实例 - 你可以只做
$result = (object)array_merge((array)$a, (array)$b);
否则只是在循环中遍历一个对象并将其属性分配给另一个对象。
foreach (get_object_vars($b) as $key => $val) {
$a->{$key} = $val;
}
答案 1 :(得分:0)
在php 5.4中,您将能够使用数组的简短语法:
$obj = new obj(['property' => 'value']);
然后在@zerkms建议的构造函数中“合并”它;)