$arr1['X'] = 5;
$arr2['Y'] = &$arr1['X'];
$arr1['X'] = 7;
print $arr2['Y']; // prints 7
我嘗試這樣做,我看不出有任何的內存使用減少(我的陣列有〜1000個條目),所以我想PHP使得陣列或東西的克隆?所以在技術上它不是真正的參考,是嗎?
我的數組有一個子數組(鍵=>值對)而不是數字。我注意到,如果我讓他們的對象,內存使用量較低(〜2MB以下)
$arr1['X'] = 5;
$arr2['Y'] = &$arr1['X'];
$arr1['X'] = 7;
print $arr2['Y']; // prints 7
我嘗試這樣做,我看不出有任何的內存使用減少(我的陣列有〜1000個條目),所以我想PHP使得陣列或東西的克隆?所以在技術上它不是真正的參考,是嗎?
我的數組有一個子數組(鍵=>值對)而不是數字。我注意到,如果我讓他們的對象,內存使用量較低(〜2MB以下)
從您的示例中不清楚您希望看到內存使用情況下降的情況。你能詳細解釋一下嗎? – mellamokb 2012-07-21 00:56:55
好吧,我在想,如果一個變量引用另一個變量,而不是正常地使用它的值,則使用的內存應該減少:P – Alex 2012-07-21 00:59:42
但是引用仍然佔用內存。現在不必存儲實際值,而是需要存儲它指向的值的內存地址,在某些情況下,實際上可能需要更多內存來存儲實際值本身。 – mellamokb 2012-07-21 01:00:31