PHP如何处理整数索引的非连续键控数组?

时间:2011-01-28 05:39:24

标签: php arrays indexing array-key

我很好奇PHP在存储具有非连续整数索引的数组方面的效率。

如果我有阵列

$b = array();
$b[1] = "Hello";
$b[18] = "World";
$b[999] = "Test";

这些密钥是存储的,然后散列到一个新的数组,PHP如何处理这个?

2 个答案:

答案 0 :(得分:1)

来自阵列上的php wep site

  

PHP中的数组实际上是一个有序的映射。映射是将值与键关联的类型。此类型针对多种不同用途进行了优化;它可以被视为数组,列表(向量),哈希表(地图的实现),字典,集合,堆栈,队列,甚至更多。由于数组值可以是其他数组,因此树和多维数组也是可能的。

执行print_r($ b);在您的代码上提供以下输出:

Array
(
    [1] => Hello
    [18] => World
    [999] => Test
)

答案 1 :(得分:0)

这已经得到了答复 PHP Array Efficiency and Memory Clarification

基本上,php中的数组与地图最相似。