SPL fornece um conjunto de estruturas de dados padrão. Elas são agrupadas aqui de acordo com sua implementação subjacente, que geralmente define seu campo de aplicação geral.
Uma Lista Duplamente Encadeada (DLL) é uma lista de nós vinculados em ambas as direções entre si. As operações de iteração, acesso a ambas as extremidades, adição ou remoção de nós têm um custo de O(1) quando a estrutura subjacente é uma DLL. Portanto, ela fornece uma implementação decente para pilhas e filas.
Heaps são estruturas semelhantes a árvores que seguem a propriedade de heap: cada nó é maior ou igual aos seus filhos, quando comparados usando o método de comparação implementado, que é global para o heap.
Arrays são estruturas que armazenam os dados de forma contínua, acessíveis via índices.
Nota: Não os confunda com o tipo array nativo do PHP. Os arrays PHP são, na verdade, tabelas de hash ordenadas. Entretanto, a SPL fornece a classe ArrayObject para encapsular arrays do PHP em um objeto.
Um mapa é uma estrutura de dados que contém pares chave-valor. Os arrays PHP podem ser vistos como mapas de inteiros/strings para valores. SPL fornece um mapa de objetos para dados. Esse mapa também pode ser usado como um conjunto de objetos.