官方解释:
SPL是用于解决典型问题(standard problems)的一组接口与类的集合。
列举几个常用的数据结构
栈结构:
栈结构是先进后出的特性
我们使用push入栈,然后使用pop出栈。
$stack = new SplStack();
$stack->push("1\n");
$stack->push("2\n");
echo $stack->pop();
echo $stack->pop();
队列结构
队列是先进后出的特性
$queue = new SplQueue();
$queue->enqueue("1\n");
$queue->enqueue("2\n");
echo $queue->dequeue();
echo $queue->dequeue();
堆结构
堆是遵循堆属性的树状结构: 每个节点都大于或等于其子级, 使用对堆全局的已实现的比较方法进行比较。
$heap = new SplMinHeap();
$heap->insert("1\n");
$heap->insert("2\n");
echo $heap->extract();
echo $heap->extract();
定长数组
定常数组的效率要高于PHP的数组,php的数组是由hashMap实现,相当于数组链表形式。而数据结构的数组是以连续方式存储的结构。
$array = new SplFixedArray(3);
$array[0] = 123;
$array[1] = 345;
var_export($array);