SPL 标准库
SPL 是用于解决典型问题 (standard problems) 的一组接口与类的集合。
官方地址: http://php.net/spl
常用结构示例
栈(先进后出):
$stack = new SplStack();
$stack->push(‘data1’);
echo $stack->pop();
队列(先进先出)
$queue = new SplQueue();
$queue->enquque(‘data1’);
echo $queue->dequque();
堆
堆的实现通过构造二叉堆(binary heap),实为二叉树的一种;由于其应用的普遍性,当不加限定时,均指该数据结构的这种实现。这种数据结构具有以下性质。
任意节点小于(或大于)它的所有后裔,最小元(或最大元)在堆的根上(堆序性)。
堆总是一棵完全树。即除了最底层,其他层的节点都被元素填满,且最底层尽可能地从左到右填入。
将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等
$heap = new SplMinHeap();
$heap->insert(‘data1’);
echo $heap->extract();
固定长度的数据
$array = new SplFixedArray(10);
$array[9] = ‘data1’;
var_dump($array);