What are the SPL data structures
The SPL (Standard PHP Library) includes several data structures that you should be aware of and hopefully use. Here is an overview of them:
SplDoublyLinkedList — The SplDoublyLinkedList class - this provides the main functionalities of a doubly linked list
SplStack — The SplStack class - this provides the main functionalities of a stack implemented using a doubly linked list.
SplQueue — The SplQueue class - this provides the main functionalities of a queue implemented using a doubly linked list.
SplHeap — The SplHeap class - this provides the main functionalities of a Heap.
SplMaxHeap — The SplMaxHeap class - this provides the main functionalities of a heap, keeping the maximum on the top.
SplMinHeap — The SplMinHeap class - this provides the main functionalities of a heap, keeping the minimum on the top.
SplPriorityQueue — The SplPriorityQueue class - this provides the main functionalities of a prioritized queue, implemented using a max heap.
SplFixedArray — The SplFixedArray class - this provides the main functionalities of array. The main differences between a SplFixedArray and a normal PHP array is that the SplFixedArray is of fixed length and allows only integers within the range as indexes. The advantage is that it allows a faster array implementation.
SplObjectStorage — The SplObjectStorage class - this provides a map from objects to data or, by ignoring data, an object set. This dual purpose can be useful in many cases involving the need to uniquely identify objects.