数组元素真的可以引用另一个数组的元素吗?

时间:2012-07-21 00:52:25

标签: php reference

像:

$arr1['X'] = 5;
$arr2['Y'] = &$arr1['X'];
$arr1['X'] = 7;

print $arr2['Y']; // prints 7

我试过这个并且我没有看到任何内存使用量减少(我的数组有~1000个条目),所以我猜PHP会复制数组或什么?所以在技术上它不是真正的参考,是吗?

我的数组有子数组(key =>值对)而不是数字。我注意到如果我将它们作为对象,内存使用率会降低(约2MB)

1 个答案:

答案 0 :(得分:1)

如果您发出:

$arr2 = &$arr1;

您引用整个数组,它应该消耗更少的内存。例如,您可以使用XDEBUG来衡量它,我假设您正在使用它。