在jQuery插件中,我们可以传递一个匿名对象的属性。在php中设置对象的属性就像你会在jQuery
$('selecter').function({property: 'value', property: 'value'})
在插件代码中jquery有一个名为extend的函数。这样做会以2个对象为参数,然后用对象2的属性覆盖对象1的属性。
有没有办法在不使用数组的情况下执行此操作或类似的操作?
在jQuery插件中,我们可以传递一个匿名对象的属性。在php中设置对象的属性就像你会在jQuery
$('selecter').function({property: 'value', property: 'value'})
在插件代码中jquery有一个名为extend的函数。这样做会以2个对象为参数,然后用对象2的属性覆盖对象1的属性。
有没有办法在不使用数组的情况下执行此操作或类似的操作?
如果你的目标只是stdClass
实例 - 你可以做到这
$result = (object)array_merge((array)$a, (array)$b);
否则只是遍历循环一个对象,并指定其属性到另一个对象。
foreach (get_object_vars($b) as $key => $val) {
$a->{$key} = $val;
}
在PHP 5.4,你将能够使用短语法数组:
$obj = new obj(['property' => 'value']);
,然后作为@zerkms建议构造“合并”它;)
为什么不你想使用数组吗? JavaScript的对象非常像PHP的数组。 –
为什么不使用array_merge或array_merge_recursive? PHP中的关联数组非常类似于JavaScript对象。 – Daff
我更喜欢它不是一个数组,因为我将不得不使用更长时间输入的关联数组。 – Yamiko