给定以下示例:
<?php
$a[7]=0;
$a[1449]=1;
?>
有多少对象占用内存?2个还是1449个?
PHP数组都是关联数组,即使使用数字索引也是如此。它们是用哈希表实现的。元素的数量是2的最小幂,足以容纳所有元素。所以在这一点上,这里有两个元素的空间。如果您添加另一个元素,它将重新分配给4。
下面是关于PHP如何实现数组的讨论: http://nikic.github.io/2012/03/28/Understanding-PHPs-internal-array-implementation.html