在PHP中为数组分配对象变量
我想将我的对象变量预先定义到数组中。之后,我需要从该数组中一次访问一个元素,并为其赋值。像这样:在PHP中为数组分配对象变量,php,Php,我想将我的对象变量预先定义到数组中。之后,我需要从该数组中一次访问一个元素,并为其赋值。像这样: $obj = new StdClass(); $arr = ["$obj->item1"]; $arr[0] = "apple"; print_r($obj); // expecting to see $obj->item1 = apple 我知道上面我做错了什么,但我不知道是什么原因。解决了。多亏了Tim Burton的提示 $arr = [&
$obj = new StdClass();
$arr = ["$obj->item1"];
$arr[0] = "apple";
print_r($obj); // expecting to see $obj->item1 = apple
我知道上面我做错了什么,但我不知道是什么原因。解决了。多亏了Tim Burton的提示
$arr = [&$obj->item1];
您正在覆盖
$arr[0]
,而不是分配$obj的属性。可能让你困惑的是,对象是通过引用传递的;但按值排列。如果只将对象分配给$arr[0]
,则可能可以在代码中的其他位置设置$obj->item1
,然后引用$arr[0]->item1
。