一般我们添加到阵列追加到一个数组不复制
$myarray[] = $myItem
但如果$ myItem是一个巨大的物体,我不希望它被复制,而不是我希望它通过参考分配。像
$myarray[] = &$myItem
但是,这并不工作,而不是其他替换$ myarray中的每一个元素与$ myItem
我试图
$myarray[count($myarray)] = &$myItem
,但它仍然在$ myarray中取代一切
我正在运行PHP v5.5
一般我们添加到阵列追加到一个数组不复制
$myarray[] = $myItem
但如果$ myItem是一个巨大的物体,我不希望它被复制,而不是我希望它通过参考分配。像
$myarray[] = &$myItem
但是,这并不工作,而不是其他替换$ myarray中的每一个元素与$ myItem
我试图
$myarray[count($myarray)] = &$myItem
,但它仍然在$ myarray中取代一切
我正在运行PHP v5.5
对象始终按引用进行分配。所以:
$collection = array();
$blah = new Blah();
$blah->param = "something";
$collection[] = $blah;
$blah->param = "changed";
echo $collection[0]->param; // will output "changed"
也许这可能有一些帮助? [如何将对象推送到数组..](http://stackoverflow.com/q/5625308/2518525) – Darren
出于好奇,如果$ myItem是一个大数组,会发生什么? – wonton
这根本没有意义,你是指“用$ myarray代替所有东西”是什么意思? –