我只是想我要梳理这找到了答案: http://svn.php.net/viewvc/php/php-src/PHP数组查找时间
但我无法找到它。在C++ <map>
中实现为具有常量键值的平衡二叉搜索树。这很好,你得到O(log n)
搜索,插入,删除等运行时。 O(n)
枚举时间。
什么我不知道是PHP阵列的底层数据结构。 PHP阵列上有一些SO帖子,他们说“他们做的事情几乎是一样的,所以不用担心!”。不是我所追求的。它是O(1)
(散列表)还是O(log n)
(平衡二叉树)查找? (例如)
如果有人能帮助我或我指向正确的PHP C源文件,这将是真棒(虽然有点解释是好的 - 我真的不擅长C)。或者,如果你对PHP数组有很好的理解,那么也很好 - 我试图理解整个底层数据结构。
[如何array_keys做价值的搜索?](http://stackoverflow.com/q/8659224/858515) '阅读在接受评论answer.' – ThinkingMonkey 2012-01-04 17:23:09
也许你将是本文http://nikic.github.com/2011/12/28/Supercolliding-a-PHP-array.html – 2012-01-04 17:25:57