我很好奇在 PHP 中存储具有非连续整数索引的数组的效率如何。
如果我有一个数组
$b = array();
$b[1] = "Hello";
$b[18] = "World";
$b[999] = "Test";
这些键是否被存储,然后散列到一个新的数组中,PHP 是如何处理这个问题的?
从数组上的php wep 站点:
PHP 中的数组实际上是一个有序映射。映射是将值与键相关联的类型。这种类型针对几种不同的用途进行了优化;它可以被视为数组、列表(向量)、哈希表(映射的实现)、字典、集合、堆栈、队列等等。由于数组值可以是其他数组,因此树和多维数组也是可能的。
执行 print_r($b); 在您的代码上给出以下输出:
Array
(
[1] => Hello
[18] => World
[999] => Test
)