【发布时间】:2012-02-02 14:19:35
【问题描述】:
我只是想我会梳理一下以找到答案: http://svn.php.net/viewvc/php/php-src/
但我找不到。在 C++ 中,<map> 实现为具有 const 键值的平衡二叉搜索树。这很好,你会得到O(log n) 搜索、插入、删除等运行时。 O(n) 枚举时间。
我想知道的是 PHP 数组的底层数据结构。有一些关于 PHP 数组的 SO 帖子说“它们做的事情几乎相同,所以不用担心!”。不是我所追求的。是O(1)(哈希表)还是O(log n)(平衡二叉树)查找? (例如)
如果有人可以帮助我或将我指向正确的 PHP C 源文件,那就太棒了(尽管稍微解释一下会很好——我真的不擅长 C)。或者,如果您只是对 PHP 数组有很好的见解,那也很好 - 我正在尝试理解整个底层数据结构。
【问题讨论】:
-
How does array_keys do the search for value?
read the comments in the accepted answer.
标签: php arrays data-structures hash map