通常我们使用
添加到数组中$myarray[] = $myItem
但如果$ myItem是一个庞大的对象,我不希望它被复制,而是希望它通过引用分配。像
这样的东西$myarray[] = &$myItem
但这并不起作用,而是用$ myItem替换$ myarray中的每个元素
我试过
$myarray[count($myarray)] = &$myItem
但它仍然取代了$ myarray中的所有内容
我正在运行PHP v5.5
答案 0 :(得分:2)
始终通过引用分配对象。所以:
$collection = array();
$blah = new Blah();
$blah->param = "something";
$collection[] = $blah;
$blah->param = "changed";
echo $collection[0]->param; // will output "changed"
答案 1 :(得分:1)