一. SPL是干嘛的
SPL是用于解决典型问题(standard problems)的一组接口与类的集合。
数据结构:
1.实现双向列表
SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {}
2.栈(Stack)是一种特殊的线性表,因为它只能在线性表的一端进行插入或删除元素(即进栈和出栈)
SplStack extends SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {}
3.队列(SplQueue) 就像我们生活中排队一样,和栈一样,它的特性是先进先出(FIFO)。
SplQueue extends SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {}
4.优先队列SplPriorityQueue是基于堆(后文介绍)实现的。
SplPriorityQueue implements Iterator , Countable {}
5.堆(Heap)就是为了实现优先队列SplPriorityQueue而设计的一种数据结构,它是通过构造二叉堆(二叉树的一种)实现。
abstract SplHeap implements Iterator , Countable {}
6.阵列 处理巨大数量的固定长度数组是采用
SplFixedArray implements Iterator , ArrayAccess , Countable {}
7.映射 用来存储一组对象的,特别是当你需要唯一标识对象的时候。
SplObjectStorage implements Countable , Iterator , Serializable , ArrayAccess {}