像:
$arr1['X'] = 5;
$arr2['Y'] = &$arr1['X'];
$arr1['X'] = 7;
print $arr2['Y']; // prints 7
我试过这个并且我没有看到任何内存使用量减少(我的数组有~1000个条目),所以我猜PHP会复制数组或什么?所以在技术上它不是真正的参考,是吗?
我的数组有子数组(key =>值对)而不是数字。我注意到如果我将它们作为对象,内存使用率会降低(约2MB)
答案 0 :(得分:1)
如果您发出:
$arr2 = &$arr1;
您引用整个数组,它应该消耗更少的内存。例如,您可以使用XDEBUG
来衡量它,我假设您正在使用它。