SPL 提供了一套标准的数据结构。它们按其底层实现分组,这通常定义了它们的通用应用领域。
双向链表 (DLL) 是一个节点列表,这些节点彼此双向链接。当底层结构是 DLL 时,迭代器的操作、对两端的访问、节点的添加或删除的成本为 O(1)。因此,它为堆栈和队列提供了不错的实现。
堆是树状结构,遵循堆属性:使用对堆全局的已实现比较方法进行比较时,每个节点都大于或等于其子节点。
数组是连续存储数据的结构,可以通过索引访问。不要将它们与 PHP 数组混淆:PHP 数组实际上是作为有序哈希表实现的。
映射是一种存储键值对的数据结构。PHP 数组可以看作是从整数/字符串到值的映射。SPL 提供了从对象到数据的映射。此映射也可以用作对象集。