1

我有一个关于 PHP 如何存储数组值的简单问题:

PHP 解释器如何在内部存储一个简单的数组(zvalues)?它是一个连续的内存空间还是一种链表和哈希树(或一些混合,取决于他的大小)?

我问这个是因为 PHP 中的数组类型可以方便地用作简单的列表、堆栈、队列或某种堆(但我不知道 PHP 使用哪种数据结构来存储它们)。

谢谢。

4

1 回答 1

2

PHP 在内部只使用一个简单的 HashTable。(首先是哈希查找;在发生冲突时有一个简单的列表查找。)

顺便说一句,SPL http://php.net/spl.datastructures中还有一些特殊的类,您可能想将它们用于特殊的事情……(仅在确实需要时才使用它们……这几乎不值得。)

于 2013-10-10T16:05:22.183 回答