一般我們添加到陣列追加到一個數組不復制
$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代替所有東西」是什麼意思? –