我有一个关于PHP如何存储数组值的简单问题:
PHP解释器如何在内部存储一个简单的数组(zvalues)?它是一个连续的记忆空间还是一种链接列表&哈希树(或一些混合,取决于他的大小)?
我问这个是因为PHP中的数组类型可以方便地用作简单的列表,堆栈,队列或某种堆(但我不知道PHP使用什么类型的数据结构来存储它们)。
感谢。
答案 0 :(得分:2)
内部PHP只使用简单的HashTable。 (首先是哈希查找;碰撞时有一个简单的列表查找。)
顺便说一句,在SPL http://php.net/spl.datastructures中也有一些特殊的类,您可能想要用于特殊的事情......(只有在真正需要时才使用它们......它们大多不值得。)