【发布时间】:2014-07-29 01:23:23
【问题描述】:
举个例子:
<?php
$a[7]=0;
$a[1449]=1;
?>
有多少对象占用内存? 2 或 1449 个对象?
【问题讨论】:
举个例子:
<?php
$a[7]=0;
$a[1449]=1;
?>
有多少对象占用内存? 2 或 1449 个对象?
【问题讨论】:
PHP 数组都是关联数组,即使您使用数字索引。它们是使用哈希表实现的。元素的数量是足以容纳所有元素的 2 的最小幂。因此,此时将有 2 个元素的空间。如果添加另一个元素,它会将其重新分配给 4。
这里讨论一下 PHP 如何实现数组:
http://nikic.github.io/2012/03/28/Understanding-PHPs-internal-array-implementation.html
【讨论】: