【发布时间】:2011-07-16 19:18:50
【问题描述】:
将新值推送到索引数组时
$array[] = 'new value';
PHP 文档解释了它是如何添加到 [MAX_INDEX+1] 位置的。
将新值推送到关联数组时
$array['key'] = 'new value';
它的工作原理相同,但我在文档中没有看到任何解释来确认它如何或为什么这样做。在我的实施中,顺序似乎是一致的,但我如何确定顺序将保持不变?有谁知道 PHP 是如何在后端实现的?
【问题讨论】:
-
相信实现细节可以在zend_hash.c找到。我假设索引是分开的,
->pInternalPointer显示最后一个。 -
它们可能只是链接哈希映射。无论散列如何,链接都会提供顺序。
-
很好的答案!正是我想要的! :-)
标签: php associative-array